mysql - WordPress 以任意顺序获取特定帖子

标签 mysql wordpress select post sql-order-by

现在,我正在做:

$posts = get_posts(array('post_type' => 'page', 'post__in' => array(1, 3, 2, 9, 7)));

我有两个问题:

  1. 帖子 3 属于 'post_type' => 'post',因此它没有被选中,但我想要它!如果我省略 'post_type' => 'page',则仅选择帖子 3(因为它必须假定 'post_type' => 'post'。)。
  2. 我希望能够 order the posts arbitrarily by their ids 。如果我知道如何使用 MySQL,我可以这样做:

    SELECT * FROM wp_posts WHERE ID IN (1, 3, 2, 9, 7)
    ORDER BY FIND_IN_SET(ID, '1,3,2,9,7');
    

但是,我应该如何使用 WordPress 来做到这一点? ?

最佳答案

首先通过 ID 任意获取所有帖子,然后循环遍历所有帖子

你可以这样做:-

$posts=$wpdb->get_results("SELECT ID FROM $wpdb->posts WHERE ID IN (1, 3, 2, 9, 7)
ORDER BY FIND_IN_SET(ID, '1,3,2,9,7')");
$count=count($posts);
for ($counter=0 ; $counter < $count; $counter++)
{
   $post=get_post( $posts[$counter]->ID, $output );
  //do your stuffs with posts
}

希望这有帮助

关于mysql - WordPress 以任意顺序获取特定帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4329800/

相关文章:

MySQL查询同一列的多条数据

javascript - 按类名选择一个 div

mysql - Case 或 IF THEN 为值添加减号

mysql - 存储 facebook 好友 - 超时 - mysql 数据库

mysql - 将此 MySQL 转换为 Sybase

wordpress - 什么是好的 WordPress 插件架构?

php - 在 WooCommerce 中,随着自定义库存数量的减少,将 "out-of-stock"产品变体变灰

MySQL Query 或 Excel 2010 - 哪一个是安排报告数据的更好方法?

javascript - 按类名获取元素并更改类名

SQL - 查询返回给定日期的事件订阅