gpt4 book ai didi

mysql - WordPress WP_Query 多个查询

转载 作者:行者123 更新时间:2023-11-29 12:21:29 24 4
gpt4 key购买 nike

我正在尝试想出一种查询特定作​​者的 CPT 以及 meta_key 是否具有特定值的方法。

例如,我的 CPT 附加了一个作者 ID 以及一个“收件人”自定义字段。我需要的是该作者的所有此类帖子以及“收件人”=该作者的所有此类帖子。

(希望我已经解释得足够好!)

我通常对 SQL 很满意,但只是突然脑子里乱了阵脚,无法弄清楚这个问题。就像我说的,非常感谢任何帮助!

==已解决==

感谢@3pepe3建议WP_Query的meta_query参数。稍微修改了我的 CPT 逻辑,现在有了一个运行良好的系统。

解决方案是为每个包含原始发件人用户 ID 的帖子添加一个新的元字段,然后运行两个元查询来检索当前 user_id 与发件人或收件人字段匹配的帖子,如下所示:

$args = array(
'post_type' => 'activity',
'post_status' => 'publish',
'orderby' => 'date',
'order' => 'DESC',
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'sender',
'value' => $user_id,
'type' => 'BINARY',
'compare' => '='
),
array(
'key' => 'recipient',
'value' => $user_id,
'type' => 'BINARY',
'compare' => '='
)
)
);

$query = new WP_Query( $args );

最佳答案

Helo JRM47R1X,您应该使用 WP_Query 而不是使用 SQL 查询类

<?php
$args = array(
'post_type' => 'activity',
'author' => $user_id,
'post_status' => 'publish',
'orderby' => 'date',
'order' => 'DESC',
'meta_query' => array(
array(
'key' => 'recipient',
'value' => $user_id,
'type' => 'BINARY',
'compare' => '='
),
),
);
$query = new WP_Query($args);
?>

使用 WP_Query 的优点是您可以将元查询、分类法和日期与逻辑操作数(如 OR、AND BETWEEN...)混合使用。

关于mysql - WordPress WP_Query 多个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28942530/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com