1

使いたい

$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
4

2 に答える 2

2

個人的には、投稿の順序と ID 番号が厳密になる場合は、おそらく 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
}
?>

それ以外の場合、投稿にはページのようなメニュー順序オプションがないため、おそらくカスタム フィールドを設定して値を指定する必要があります (低い数値が高い数値よりも優先されます)。次に、次のようなことができます。

<?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'));
?>

この 2 番目のオプションはテストされていないため、すぐに機能することは保証できませんが、すぐに開始できるはずです。幸運を。

于 2012-10-01T15:24:44.117 に答える
-1

将来的にワードプレス3.5で使用できるようになります:'orderby'=>'post__in'

于 2012-10-01T20:21:07.623 に答える