我这里做错了什么。
我正在尝试在所有实例中向主博客查询添加一个自定义的帖子类型,即外部视频。对于第一次加载的帖子,它在主博客页面中起作用,但在随后通过无限滚动加载的帖子中,自定义帖子类型被忽略。此后仅加载“常规”帖子。
我正在使用无限滚动的wp插件版本。以下是我的功能:
// add external-videos to the loop
function add_external_videos_to_query( $query ) {
if ( is_main_query() && is_home() )
set_query_var ( \'post_type\', array(\'post\',\'external-videos\') );
}
add_action( \'pre_get_posts\', \'add_external_videos_to_query\' );
此外,似乎是相关的——即使在自定义帖子类型的归档页面上,自定义帖子类型也会被无限滚动忽略。换句话说,在“外部视频”的归档页面上,“外部视频”的第一页会加载帖子,但不会再通过无限滚动加载这种类型的帖子。
无限卷轴对于我测试过的所有其他归档文件都正常工作。
顺便说一句,我读了迈克·辛克尔的回复here 我想我正在使用类似的技术,但我不确定是否需要global $wp_the_query
或者不是。
对于另一种情况,但也试图让pre\\u get\\u帖子激发每个查询,他说:
基本上,您要查找的是全局$wp\\u the\\u查询变量,该变量设置为主查询的值。它可能不完全适合100%的情况,但可能在99%的情况下都能正常工作:
add_action( \'pre_get_posts\', \'custom_post_count\' );
function custom_post_count( $query ){
global $wp_the_query;
if ( $wp_the_query === $query ) {
$query->set( \'posts_per_page\', 5 );
}
return $query;
};