如何将PRE_GET_POST应用于自定义查询?

时间:2012-09-12 作者:idjuradj

如何申请pre_get_posts 到自定义查询?

例如,如果我有:

$custom_query = new WP_Query(...)
//code here
如何应用pre_get_posts 为了这个$custom_query?

2 个回复
SO网友:Chip Bennett

对于某些用例,您不能使用$query->get() 以特定的自定义查询为目标?

例如:假设您有一个slider 岗位类型。也许是这样的?

function wpse64950_filter_pre_get_posts( $query ) {
    if ( ! is_main_query() ) {
        if ( \'slider\' == $query->get( \'post-type\' ) ) {
            // This is a query of slider posts,
            // and isn\'t the main query;
            // Do something
        }
    }
    return;
}
add_filter( \'pre_get_posts\', \'wpse64950_filter_pre_get_posts\' );
当然,这将针对slider 岗位类型自定义查询;所以它不会在每种情况下都起作用。但它应该在某些情况下起作用。

SO网友:Chris_O

pre\\u get\\u posts为每个post查询激发

没有理由将其应用于特定的自定义查询。如果不想将其应用于自定义查询,则需要确保正在检查is_main_query().

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post