【问题标题】:Search Widget in Blog page in wordpresswordpress 博客页面中的搜索小部件
【发布时间】:2020-02-12 08:30:58
【问题描述】:

我在我的博客页面上添加了搜索小部件。当我点击空白搜索时,它会过滤掉我网站的所有页面。我想使用仅过滤掉博客文章的编码添加设置。

我已经为此添加了这段代码

function search_filter($query) {
  if ( !is_admin() && $query->is_main_query() ) {
    if ($query->is_search) {
      $query->set('post_type', 'post');
    }
  }
}

add_action('pre_get_posts','search_filter');

但使用此代码,通过搜索产品功能停止工作。

【问题讨论】:

    标签: wordpress search widget


    【解决方案1】:

    转到 wp-includes/query.php 在下面找到并

    $q[‘post_type’] = ‘any’;
    replace
    $q[‘post_type’] = ‘post’;
    

    或更好的方法将此代码放在functions.php文件中以解决任何wordpress更新后的问题

    if (!is_admin()) {
    function wpb_search_filter($query) {
    if ($query->is_search) {
    $query->set('post_type', 'post');
    }
    return $query;
    }
    add_filter('pre_get_posts','wpb_search_filter');
    }
    

    【讨论】:

    • 如果您更改核心文件,WordPress 更新时会丢失
    • if (!is_admin()) { function wpb_search_filter($query) { if ($query->is_search) { $query->set('post_type', 'post'); } 返回$查询; } add_filter('pre_get_posts','wpb_search_filter'); }
    猜你喜欢
    • 1970-01-01
    • 2017-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多