如何在Wordpress中运行自定义查询?

时间:2011-07-27 08:38:11

标签: php wordpress

我正在尝试使用已发布的代码段here来显示自定义查询。以下内容属于functions.php

function alter_the_query($request) {
    $dummy_query = new WP_Query();
    $dummy_query->parse_query($request);
    // this is the actual manipulation
    if($dummy_query->is_page('blog')) $request['category_name'] = 'Blog';
    // and then
    return $request;
}
add_filter('request','alter_the_query');

名为“Blog”的页面内部有一个基本循环 - 因此它应该显示WP_Query告诉它的内容。但是,它只显示页面内容 - 应该被忽略。

我似乎无法找到解释$request对象属性的引用,因此我不确定应该如何使此代码段工作。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我认为这是因为你没有更改$ request ['pagename']值,所以wp尝试为这些页面加载内容。

更新这应该适合你

function alter_the_query($request) {
    $dummy_query = new WP_Query();
    $dummy_query->parse_query($request);
    // this is the actual manipulation
    if($dummy_query->is_page('blog')) {
      $request['category_name'] = 'Blog';
      unset($request['pagename']);
    }
    // and then
    return $request;
}