将管理员后端搜索限制为标题

时间:2012-03-10 作者:Rebecca

是否有人对如何将WP管理区域中的搜索限制为仅发布标题有任何建议?想要打开一个特定的页面,并得到数百个在帖子内容中包含该词的结果,这是非常令人沮丧的。

1 个回复
SO网友:soulseekah

这可以通过以下方式更改搜索查询:posts_search

http://core.trac.wordpress.org/browser/tags/3.3.1/wp-includes/query.php#L2202

默认搜索查询如下所示:

..AND (((wp_posts.post_title LIKE \\\'%search terms%\\\') OR (wp_posts.post_content LIKE \\\'%search terms%\\\')))

我们需要删除帖子内容搜索,一个正则表达式就足够了。

add_filter( \'posts_search\', \'wpse_45153_filter_search\', null, 2 );
function wpse_45153_filter_search( $search, $a_wp_query ) {
    if ( !is_admin() ) return $search; // work only in the dashboard

    $search = preg_replace( "# OR \\(.*posts\\.post_content LIKE \\\\\'%.*%\\\\\'\\)#", "", $search );

    return $search;
}
请注意,正则表达式尚未经过彻底测试,当其他插件或主题将钩子改为此处时,可能会出现边缘情况。

结束

相关推荐

如何在wp-admin中显示帖子/页面标题下自定义字段的值

我正在尝试在wp admin帖子/页面列表中的帖子/页面标题下添加一个自定义字段的值(很像帖子列表中的摘录模式),而无需挂接到列进程,因为其他插件已经在这样做了,而且看起来每个插件都在取消另一个插件。以下是我试图实现的目标的截图:谢谢