Wordpress WP“查询中的通配符”;“关键”;

Wordpress WP“查询中的通配符”;“关键”;,wordpress,Wordpress,我有一个简单的问题,但我在网上找不到答案。 使用WP_查询,如何处理“meta_查询”中的“key”值?我可以使用通配符吗 例如: $args = array( 'post-type' => 'post', 'meta_query' => array( array( 'key' => 'dates_%_participants', 'compare' => 'LIKE',

我有一个简单的问题,但我在网上找不到答案。 使用WP_查询,如何处理“meta_查询”中的“key”值?我可以使用通配符吗

例如:

$args = array(
    'post-type' => 'post',
    'meta_query' => array(
        array(
            'key' => 'dates_%_participants',
            'compare' => 'LIKE',
            'value' => '"'.$user->ID.'"',
        )
    )
);

$query = new WP_Query($args);

请注意“key”中的“%”将过滤器添加到要替换的查询中

meta_键='日期.$

元键,如“日期”

在functions.php中:

function posts_where_dates( $where ) {  
    $where = str_replace("meta_key = 'dates_$", "meta_key LIKE 'dates_%", $where);
    return $where;
}

add_filter( 'posts_where' , 'posts_where_dates' );
您的查询与以前的查询相同。即

$args = array(
    'post-type' => 'post',
    'meta_query' => array(
        array(
            'key' => 'dates_$_participants',
            'compare' => '=',
            'value' => '"'.$user->ID.'"',  
        )
    )
);
隐藏得很好,但这里有记录:

由于WordPress 4.8.3中esc_sql()的行为发生了更改,所以对答案进行了编辑

@Howdy_McGee,你说得不对。这是可能的。看看答案。场景是ACF Repeater插件,它创建了这样的元键。