我试图设计一个主题,所有帖子在网格布局中始终可见,使用index.php
作为我的单一模板。即使访问与单个帖子匹配的URL,也会显示所有帖子,只有一个和URL匹配的帖子会以某种方式突出显示。
这就像主页上的魅力(http://example.com/
), 但如果我想访问帖子(http://example.com/mycategory/mypostname
) 它没有显示任何内容。
我尝试设置一个pre\\u get\\u posts挂钩,如下所示:
function preGetPosts( $query ) {
if ( is_admin() || ! $query->is_main_query() )
return;
$query->set( \'posts_per_page\', -1 );
$query->set( \'name\', "" );
$query->set( \'category_name\', "" );
return;
}
add_action( \'pre_get_posts\', \'preGetPosts\' );
但是我的页面上根本没有帖子。我已经尝试通过在模板中显示SQL请求来解决这个问题:
<?php echo $GLOBALS[\'wp_query\']->request; ?>
。。。生成的SQL请求很好:
SELECT wp_posts.* FROM wp_posts WHERE 1=1 AND wp_posts.post_type = \'post\' ORDER BY wp_posts.post_date DESC
即使在phpMyAdmin中尝试请求,也会得到所有帖子的正确列表。我无法理解是什么阻止循环显示这些结果。
甚至连连接到loop_start
似乎完全跳过了操作。有什么想法吗?
谢谢
EDIT: 如果我倾倒$GLOBALS[\'wp_query\']
在循环之前的模板中,我看到:
["post_count"] => int(0)
["found_posts"] => int(23)
确实有23个帖子应该显示出来。。。找到的帖子和帖子数量有什么区别?
EDIT: 完整查询转储:
object(WP_Query)#390 (48) {
["query"]=>
array(3) {
["page"]=>
string(0) ""
["name"]=>
string(4) "sos3"
["category_name"]=>
string(8) "mixtapes"
}
["query_vars"]=>
array(65) {
["page"]=>
int(0)
["name"]=>
string(0) ""
["category_name"]=>
string(0) ""
["error"]=>
string(0) ""
["m"]=>
string(0) ""
["p"]=>
int(0)
["post_parent"]=>
string(0) ""
["subpost"]=>
string(0) ""
["subpost_id"]=>
string(0) ""
["attachment"]=>
string(0) ""
["attachment_id"]=>
int(0)
["static"]=>
string(0) ""
["pagename"]=>
string(0) ""
["page_id"]=>
int(0)
["second"]=>
string(0) ""
["minute"]=>
string(0) ""
["hour"]=>
string(0) ""
["day"]=>
int(0)
["monthnum"]=>
int(0)
["year"]=>
int(0)
["w"]=>
int(0)
["tag"]=>
string(0) ""
["cat"]=>
string(0) ""
["tag_id"]=>
string(0) ""
["author"]=>
string(0) ""
["author_name"]=>
string(0) ""
["feed"]=>
string(0) ""
["tb"]=>
string(0) ""
["paged"]=>
int(0)
["meta_key"]=>
string(0) ""
["meta_value"]=>
string(0) ""
["preview"]=>
string(0) ""
["s"]=>
string(0) ""
["sentence"]=>
string(0) ""
["title"]=>
string(0) ""
["fields"]=>
string(0) ""
["menu_order"]=>
string(0) ""
["embed"]=>
string(0) ""
["category__in"]=>
array(0) {
}
["category__not_in"]=>
array(0) {
}
["category__and"]=>
array(0) {
}
["post__in"]=>
array(0) {
}
["post__not_in"]=>
array(0) {
}
["post_name__in"]=>
array(0) {
}
["tag__in"]=>
array(0) {
}
["tag__not_in"]=>
array(0) {
}
["tag__and"]=>
array(0) {
}
["tag_slug__in"]=>
array(0) {
}
["tag_slug__and"]=>
array(0) {
}
["post_parent__in"]=>
array(0) {
}
["post_parent__not_in"]=>
array(0) {
}
["author__in"]=>
array(0) {
}
["author__not_in"]=>
array(0) {
}
["posts_per_page"]=>
int(-1)
["ignore_sticky_posts"]=>
bool(false)
["suppress_filters"]=>
bool(false)
["cache_results"]=>
bool(true)
["update_post_term_cache"]=>
bool(true)
["lazy_load_term_meta"]=>
bool(true)
["update_post_meta_cache"]=>
bool(true)
["post_type"]=>
string(0) ""
["nopaging"]=>
bool(true)
["comments_per_page"]=>
string(2) "50"
["no_found_rows"]=>
bool(false)
["order"]=>
string(4) "DESC"
}
["tax_query"]=>
NULL
["meta_query"]=>
object(WP_Meta_Query)#629 (9) {
["queries"]=>
array(0) {
}
["relation"]=>
NULL
["meta_table"]=>
NULL
["meta_id_column"]=>
NULL
["primary_table"]=>
NULL
["primary_id_column"]=>
NULL
["table_aliases":protected]=>
array(0) {
}
["clauses":protected]=>
array(0) {
}
["has_or_relation":protected]=>
bool(false)
}
["date_query"]=>
bool(false)
["request"]=>
string(112) "SELECT wp_posts.* FROM wp_posts WHERE 1=1 AND wp_posts.post_type = \'post\' ORDER BY wp_posts.post_date DESC "
["posts"]=>
&array(0) {
}
["post_count"]=>
int(0)
["current_post"]=>
int(-1)
["in_the_loop"]=>
bool(false)
["comment_count"]=>
int(0)
["current_comment"]=>
int(-1)
["found_posts"]=>
int(23)
["max_num_pages"]=>
int(0)
["max_num_comment_pages"]=>
int(0)
["is_single"]=>
bool(false)
["is_preview"]=>
bool(false)
["is_page"]=>
bool(false)
["is_archive"]=>
bool(false)
["is_date"]=>
bool(false)
["is_year"]=>
bool(false)
["is_month"]=>
bool(false)
["is_day"]=>
bool(false)
["is_time"]=>
bool(false)
["is_author"]=>
bool(false)
["is_category"]=>
bool(false)
["is_tag"]=>
bool(false)
["is_tax"]=>
bool(false)
["is_search"]=>
bool(false)
["is_feed"]=>
bool(false)
["is_comment_feed"]=>
bool(false)
["is_trackback"]=>
bool(false)
["is_home"]=>
bool(false)
["is_404"]=>
bool(true)
["is_embed"]=>
bool(false)
["is_paged"]=>
bool(false)
["is_admin"]=>
bool(false)
["is_attachment"]=>
bool(false)
["is_singular"]=>
bool(false)
["is_robots"]=>
bool(false)
["is_posts_page"]=>
bool(false)
["is_post_type_archive"]=>
bool(false)
["query_vars_hash":"WP_Query":private]=>
string(32) "8932b0e7ba16b7a363737e0bb1065296"
["query_vars_changed":"WP_Query":private]=>
bool(true)
["thumbnails_cached"]=>
bool(false)
["stopwords":"WP_Query":private]=>
NULL
["compat_fields":"WP_Query":private]=>
array(2) {
[0]=>
string(15) "query_vars_hash"
[1]=>
string(18) "query_vars_changed"
}
["compat_methods":"WP_Query":private]=>
array(2) {
[0]=>
string(16) "init_query_flags"
[1]=>
string(15) "parse_tax_query"
}
}