如何限制特定帖子类型的搜索字段

时间:2019-12-04 作者:michael

如何限制对特定帖子类型的搜索?我在函数中使用以下代码。php:

function searchfilter($query) { 
    if ( is_admin() || ! $query->is_main_query() ){return;}

    if( $query->is_main_query()  ) {
       $query->set( \'post_type\', [\'property\']);
     }   
     return $query;
 }   
add_filter(\'pre_get_posts\',\'searchfilter\');

1 个回复
SO网友:michael

我知道了,谢谢

function my_search_pre_get_posts($query)
{

    if($query->query_vars[\'s\'] != \'\' && is_search())
    {

        if(absint($query->query_vars[\'s\']))
        {
            $query->set(\'p\', $query->query_vars[\'s\']);
            $query->set(\'post_type\', [\'property\']);
            // Reset the search value
            $query->set(\'s\', \'\');
        }
    }
}

// Filter the search page
add_filter(\'pre_get_posts\', \'my_search_pre_get_posts\');
对WordPress功能的非常好的学习。

相关推荐

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

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