使用wordpress

时间:2015-06-29 09:17:24

标签: php mysql wordpress

我有一个自定义的mysql查询

  

$ search_query_location =“SELECT wp_posts。* FROM wp_postmeta wher post_id IN   (112233,445566,77441,145,254)“;

我可以运行上面的查询来获取带有“wpdb”函数的数据,如

$wpdb->get_results($search_query_location, OBJECT);

返回像

这样的帖子数组

阵列

(
    [0] => stdClass Object
        (
            [ID] => 11923
            [post_author] => 1
            [post_date] => 2015-06-23 08:05:30
         )
)

但我需要

  

WP_Query对象返回“new WP_Query”函数

WP_Query Object
(
    [query] => Array
        ()
     [posts] =Array ()
)

如果我将WP_Query与参数post__inposts_per_page一起使用,那么结果会带有默认排序顺序(即post id)的 WP_Query对象,但我需要排序顺序我在我的自定义查询中定义的是(112233,445566,77441,145,254)帖子ID 如何使用自定义mysql查询获取 WP_Query对象

1 个答案:

答案 0 :(得分:1)

orderby参数接受post__in排序值作为对返回的帖子进行排序的可能方式。将orderby设置为post__in后,帖子将按照输入post__in参数的顺序返回。

以下代码

$args = [
    'post__in' =>[3, 1, 2],
    'orderby' => 'post__in'
];

$q = new WP_Query( $args );

将按以下顺序返回帖子1,2和3

  

3,1,2