在WordPress搜索中包括Posteta
我怎样才能告诉默认的WordPress搜索功能同时查看Posteta数据 例如,我有一个名为“item_number”的PostMeta键,如果有人搜索“113”,我希望它检查键的值以及帖子内容在WordPress搜索中包括Posteta,wordpress,search,Wordpress,Search,我怎样才能告诉默认的WordPress搜索功能同时查看Posteta数据 例如,我有一个名为“item_number”的PostMeta键,如果有人搜索“113”,我希望它检查键的值以及帖子内容 谢谢 您必须用自己的Wordpress搜索功能替换您的Wordpress搜索功能。检查此项。此网站提供了我想要的答案: 如果遇到问题,本教程下面有一些有用的注释值得一看 编辑: 上述链接已失效 最后,我编写了一个完整的自定义搜索查询,用它来构建我需要的查询。非常简单的解决方法:将所有要搜索的元值放入p
谢谢 您必须用自己的Wordpress搜索功能替换您的Wordpress搜索功能。检查此项。此网站提供了我想要的答案: 如果遇到问题,本教程下面有一些有用的注释值得一看 编辑: 上述链接已失效
最后,我编写了一个完整的自定义搜索查询,用它来构建我需要的查询。非常简单的解决方法:将所有要搜索的元值放入post_experpt字段中使用,这样就可以在不进行任何搜索修改的情况下找到它们 在搜索范围内包含元值的一种快速而肮脏的方法:您可以像这样连接并添加元值: 在functions.php中:
此路由的唯一问题是它将包含元查询,因此您的搜索查询将只匹配包含标题/内容/摘录和元字段中的搜索词的帖子,这对你来说可能不太合适。我的问题与参考帖子中的用户相同:要实现这一点,正确的WordPress挂钩/函数是什么?很抱歉这么晚才打扰你,但你提供的链接不起作用。你能检查一下这个吗?您好。请参阅我在答案中添加的其他链接。非常感谢您的快速回复。
add_filter( 'pre_get_posts', 'so_9224493_adjust_search_query');
function so_9224493_adjust_search_query( $query ) {
if ( !is_admin() && $query->is_search ) { //the !is_admin() boolean ensures that this does not affect your dashboard
$meta_query_arguments = array(
array(
'key' => 'item_number', //this is where you would put your meta key
'value' => $query->query_vars['s'],
'compare' => 'LIKE',
),
);
$query->set('meta_query', $meta_query_arguments);
};
}