好的,我有多个不同的页面模板,其中有一个主查询,我想对循环进行筛选。在我的示例中,我尝试使用一个函数来过滤我的站点的主循环以及页面“new”的主循环。现在,这对于主页来说很好,但使“新”页面返回“未找到页面”,而不使用分配给它的自定义模板。这样做的正确方法是什么?
function fod_filter_main_query( $query ) {
if( is_front_page() && is_main_query() ) {
$query->set(\'meta_key\', \'hotness\');
$query->set(\'meta_value\', 0 );
$query->set(\'meta_compare\', \'>\');
$query->set(\'orderby\', \'meta_value_num\' );
$query->set(\'order\', \'desc\');
$query->set(\'cat\', -1 );
$query->set(\'posts_per_page\', 16 );
$query->set(\'post_type\', array( \'post\',\'fod_videos\',\'fod_music\',\'fod_articles\', \'fod_albums\' ));
} elseif ( is_page(\'new\') && is_main_query() ) {
$query->set(\'cat\', -1 );
$query->set(\'order\', \'asc\');
$query->set(\'posts_per_page\', 16 );
$query->set(\'post_type\', array( \'post\',\'fod_videos\',\'fod_music\',\'fod_articles\', \'fod_albums\' ));
}
}
add_action(\'pre_get_posts\', \'fod_filter_main_query\', 9999);