在WordPress中的自定义选择语句中包含变量

时间:2014-03-28 12:49:58

标签: php mysql wordpress

我的自定义选择语句:

$querystr = "
    SELECT $wpdb->posts.* 
    FROM $wpdb->posts, $wpdb->comments
    WHERE $wpdb->posts.ID = $wpdb->comments.comment_post_ID
    AND $wpdb->posts.post_status = 'publish'
    AND $wpdb->posts.post_type = 'post'
    GROUP BY $wpdb->posts.ID
    ORDER BY comment_count DESC
";

我的目标是将结果限制在一组特定的帖子作者身上。

我在变量$user_ids中有一组WordPress帖子作者用户ID。

我考虑过在select语句中添加以下内容,但我确定以下语法不是正确的方法:

AND $wpdb->posts.post_author = $user_ids

希望有人可以帮我告诉我正确的方法吗?

2 个答案:

答案 0 :(得分:1)

首先你应该创建一个字符串:

$user_ids_string = implode(',',$user_ids)

然后您的语法将是:

AND $wpdb->posts.post_author in ($user_ids_string)

注意:如果你的id不是整数,你也应该用引号''

包装它们

答案 1 :(得分:0)

$user_ids

是逗号分隔值,然后您可以执行此操作

  AND $wpdb->posts.post_author in ( $user_ids)

如果$user_ids是一个数组,那么请使用:

   AND $wpdb->posts.post_author in ( implode( ',', $user_ids ))