WordPress的WP_Query,使用逗号分隔字符串。

问题描述 投票:2回答:1

我为每个帖子创建了一个自定义字段,键为 "导演"。一个职位的值是 Joe Russo,另一个员额 Joe Russo, Anthony Russo...我正试图通过以下方式过滤所有帖子 Joe Russo 并想找到这两个帖子的标题,我想让它适用于任何名字,因为它们总是用逗号分开。我希望它能适用于任何名称,因为它们总是用逗号分开。我试过以下方法。

$args = array(
            'meta_key'   => 'director',
            'meta_value' => 'Joe Russo',
            'compare' => 'LIKE',
        );

$meta_query = new WP_Meta_Query($args);
if($meta_query->have_posts()) {
    $titles = array();

    while($meta_query->have_posts()) {
        $meta_query->the_post();
        $titles[] =  get_the_title();
    }
    return $titles;
} else {
    return 'No posts found';
}

但这只能找到带有 Joe Russo . 我还用REGEXP作为比较方法,但不能让它工作。任何想法都将是非常感激!

wordpress rest custom-fields
1个回答
1
投票

正如Johannes所指出的,我错误地使用了 compare 而不是 meta_compare. 这很好用。

$args = array(
            'meta_key'   => 'director',
            'meta_value' => 'Joe Russo',
            'meta_compare' => 'LIKE',
        );

不过我可能会用分类法来代替它,见Xhynk的评论。

© www.soinside.com 2019 - 2024. All rights reserved.