我正在尝试使用已发布的代码段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
对象属性的引用,因此我不确定应该如何使此代码段工作。有什么想法吗?
答案 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;
}