0

我想查找具有特定帖子元键/值的帖子或特定类别的帖子。这是查询。我想将tax_queryand 和meta_querywith结合起来OR,但是 AFAICS 没有办法做到这一点。

$args = [
    'post_type'      => 'my-event',
    'post_status'    => 'publish',
    'posts_per_page' => -1, 
    'orderby'        => 'title', 
    'order'          => 'ASC',
    'cat'            => 'home',
    'tax_query'      => [
        [
            'taxonomy'         => 'event-cat',
            'terms'            => [
                'open',
            ],
            'field'            => 'slug',
            'operator'         => 'IN',
            'include_children' => true,
        ],
    ],
    'meta_query'     => [
        [
            'key'     => 'event_author',
            'value'   => [1,7,11,15],
            'compare' => 'IN',
        ],
    ],
];

$loop = new WP_Query($args);

结果应该是:“公开”类别中的所有帖子(事件)(无论作者是谁)以及来自指定作者之一的所有帖子(无论事件属于哪个类别)。

在 SO 上,我发现了一些类似的问题,我想我必须创建一个 SQL 查询才能找到解决方案,但我不知道该怎么做。希望有人可以在这里帮助我。谢谢和最好的问候。

4

1 回答 1

0

为了进行这样的自定义、非常规和有点复杂的查询,您必须学习一些基本的 SQL 语法。相信我,SQL 基础知识并不难学,如果你考虑到有多少不同编程语言的项目需要一些 SQL 知识,那么它们真的很值得。

WordPress 为您提供了使用wpdb::get_results()函数进行自定义查询的选项。如果您已经知道如何使用 SQL 语法,请尝试稍微探索一下 wordpress 数据库,您会发现需要提取哪些表列才能获得所需的结果。

于 2020-12-11T09:27:04.387 回答