要通过高级自定义字段在帖子中搜索,请使用fallowing query:
$args = [
\'post_type\' => \'post\',
\'meta_query\' => [
\'relation\' => \'OR\',
[
\'key\' => \'NAME_OF_ACF_FIELD\',
\'compare\' => \'like\',
\'value\' => \'%\'.$search_value.\'\',
]
]
];
$items = new WP_Query($args);
while($items->have_posts()) {
$items->the_post();
the_title();
}
这将输出与搜索查询匹配的标题。甚至可以将更多项目添加到
meta_query
要一起搜索示例3字段的数组。
此外,您可以在执行之前使用WordPress过滤器挂钩修改查询这是一个在查询上修改where语句的示例
add_filter( \'posts_where\', \'my_posts_where\', 10, 2 );
function my_posts_where( $where, &$wp_query )
{
global $wpdb;
if ( $search_title= $wp_query->get( \'search_title\' ) ) {
$where .= \' AND \' . $wpdb->posts . \'.post_title LIKE \\\'\' . esc_sql( $wpdb->esc_like( $search_title) ) . \'%\\\'\';
}
return $where;
}