我有一个自定义的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__in
和posts_per_page
一起使用,那么结果会带有默认排序顺序(即post id)的 WP_Query对象,但我需要排序顺序我在我的自定义查询中定义的是(112233,445566,77441,145,254)帖子ID
如何使用自定义mysql查询获取 WP_Query对象?
答案 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