我想用
$ps = "9126,8955,8554,8620,8825,8912,8937,8813,9054,9022";
$recent = new WP_Query( array('post__in' => explode(',', $ps)) );
按ID检索帖子,我这样做,结果按发布日期排序,但我希望按此顺序在此示例中检索相同的ID:
9126,8955,8554,8620,8825,8912,8937,8813,9054,9022
答案 0 :(得分:2)
就个人而言,如果帖子的顺序和你的身份证号码都是严格的,我可能会避免使用WP_Query:
<?php
$ids = array(9126,8955,8554,8620,8825,8912,8937,8813,9054,9022);
foreach($ids as $id)
{
$post = get_post($id);
setup_postdata($post);
?>
<!-- YOUR HTML HERE -->
<?php
}
?>
否则,由于Posts没有像Pages那样的任何菜单顺序选项,您可能需要设置一个自定义字段并给它一个值(较低的数字优先于较高的数字)。然后你可以做这样的事情:
<?php
$ids = array(9126,8955,8554,8620,8825,8912,8937,8813,9054,9022);
$recent = new WP_Query(array('post__in' => $ids, 'orderby' => 'meta_value_num', 'meta_key' => 'postOrder', 'order' => 'ASC'));
?>
这第二个选项未经测试,我不能保证它会立即起作用,但它应该让你开始。祝你好运。
答案 1 :(得分:-1)
将来在wordpress 3.5中你可以使用:'orderby'=>'post__in'