试图从搜索查询中删除复数“%s”,但它只是删除了末尾的每个字母--我做错了什么?谢谢

时间:2018-09-20 作者:Sam Jacka

试图从Woocommerce搜索查询中删除复数“s”,但这只是删除结尾的每个字母——我做错了什么?谢谢

function mySearchFilterFunction($query) {

if ( !is_admin() && $query->is_main_query() && $query->is_search) {

$search_term = $query->get(\'s\');
$query->set(\'s\', substr($search_term, 0, -1));

    }
}

add_action( \'pre_get_posts\', \'mySearchFilterFunction\');

1 个回复
最合适的回答,由SO网友:Pim 整理而成

Try this:

function mySearchFilterFunction($query) {
  if ( !is_admin() && $query->is_main_query() && $query->is_search) {
    $search_term = $query->get(\'s\');
    if (substr($search_term, -1) == \'s\'){
      $search_term = substr($search_term, 0, -1);
    }
    $query->set(\'s\', $search_term);
  }
}
add_action( \'pre_get_posts\', \'mySearchFilterFunction\');
结束

相关推荐

Media searching ignored

我们的网站使用WordPress,有很多媒体文件。我们网站的媒体名称格式如下[Car brand\'s name]-[number].jpg, 例如Tesla-1.jpg 或Aston Martin-3.jpg. 因此,我们可以通过搜索文章的名称轻松找到文章的特定媒体。但突然间,我们找不到媒体。我们正在尝试搜索名称为的媒体,但搜索结果不变。(不搜索任何内容时的媒体屏幕)(搜索Aston Martin时的媒体屏幕)当然,在填充搜索文本框后,它会显示一个加载图标,但结果总是一样的。为什么会发生这种情况?更新+