如何在WordPress上阻止特定关键字的搜索?

时间:2019-05-23 作者:Ronomor

我想阻止一些特定的禁止关键字在WordPress上搜索。或者我想在有人搜索特定关键字时显示重定向。怎么办?

1 个回复
SO网友:cjbj

您正在寻找pre_get_posts. 此操作在(搜索)查询的组合和实际查询之间运行,以允许您更改查询。因此,它将允许您截取以下被禁止的关键字:

add_action( \'pre_get_posts\', \'wpse338558_intercept_banned_keywords\' );
function wpse338558_intercept_banned_keywords ($query) {
  $banned = array (\'word1\',\'word2\',\'word3\');
  if (in_array ($query->query_vars[\'s\'], $banned)) $query->s = \'\';
  }
备注:

上述内容只会清空搜索,因此不会向用户提供反馈。黑客的解决方案是使用一个非常模糊的搜索词,如jlwenuhrofslslfiehlserlisehrlilfheeipeueiq 并截获404以显示消息