カスタム投稿タイプ 'show'の最後の5件の投稿を表示しています。
これは私に最初に最新の投稿をします。
<?php
$args = array(
'post_type' => 'show',
'posts_per_page' => 5,
'order' => 'DESC'
);
$home_shows = new WP_Query($args);
var_dump($home_shows);
?>
私が必要としているのは、実際に最も早い(最新のショーの配列の)最初に、そして(最新のショーの配列の中の)最新のショーを最後にすることです。
私は現在手に入れています(カスタムフィールドのメタ値による表示日):
3/11/12、3/7/12、3/4/12、3/2/12、2/30/12など.
2/30/12、3/1/2、3/4/12、3/7/12、3/11/12、
私はphpのarray_reverseをそのように使ってみました(上記のコードに追加されました):
$reversed_shows = array_reverse( $home_shows->posts );
これは私に非常に奇妙な結果を与えました(ポストの完全に異なる部分を表示しました、配列順はオフでした)。
何か案は?
私は私が間違っていたことを考え出しました。簡単な初心者の間違い。
Array_reverseは適切に機能していましたが、その後、反転した配列を$ home_shows WP_Queryに再割り当てしていなかったため、変更はありません。
これが答えです、そして私の改訂されたコードです。
<?php
$args = array(
'post_type' => 'show',
'posts_per_page' => 5,
'order' => 'DESC',
);
$home_shows = new WP_Query($args);
//reverse the order of the posts, latest last
$array_rev = array_reverse($home_shows->posts);
//reassign the reversed posts array to the $home_shows object
$home_shows->posts = $array_rev;
?>
<?php $captions = array(); ?>
<?php if ( $home_shows->have_posts() ) : ?>
<?php while ( $home_shows->have_posts() ) : $home_shows->the_post(); ?>
返事をありがとう、私がこれを考え出してくれてうれしい。
カスタムフィールドの混乱をすべて取り除き、args配列に'order' => 'ASC'
を追加します。そしてこれで終わりです!
<?php
$args = array(
'post_type' => 'show',
'posts_per_page' => 5,
'order' => 'desc'
);
$home_shows = new WP_Query($args);
// var_dump($home_shows);
echo "<pre>";
print_r($home_shows->posts);
echo "</pre>";
$array_rev = array_reverse($home_shows->posts);
echo "<pre>";
print_r($array_rev);
echo "</pre>";
?>
カスタム投稿タイプで上記を試しました...
結果投稿ID:240、239、238、237逆:237、238、239、240
あなたの最後に何か問題があるはずです......