1 回答

TA貢獻1963條經驗 獲得超6個贊
如果你對數(shù)組更滿意,你總是可以使用get_posts()
函數(shù),它(幾乎)像WP_Query()
類一樣接受參數(shù)。 實際上也利用了。get_posts()
WP_Query
也就是說,正如你所提到的,使用“本機PHP”修改你的代碼并不困難。它只是一個 while
循環(huán),而不是 foreach
循環(huán),兩者都是類似的控制結構。
您所要做的就是添加一個計數(shù)器變量,并在每次通過后使用增量運算符遞增它:++
;
下面是一個快速代碼示例:
$args = array(
'posts_per_page' => 2,
);
$query = new WP_Query( $args );
if( $query->have_posts() ){
$count = 0; // Start a Counter
while( $query->have_posts() ){
$query->the_post();
printf( '<div class="post float-%s">', ($count++ % 2 == 0) ? 'left' : 'right' ); // If counter is odd: "left", even: "right"
printf( '<h4 class="post-title">%s</h4>', get_the_title() );
the_content();
echo '</div>';
}
} else {
echo 'No Posts Found.';
}
幾件事:
我將數(shù)組移動到它自己的變量。有些查詢可能會變得非常復雜,將它們作為指定變量可以提高長期可維護性。
$args
如果您只想,也不需要參數(shù),因為這是默認值。
post_type
post
我添加了一個子句,所以如果你的帖子消失了,或者你移動了這個代碼,就會有一個“沒有找到”的回退。
if
我在后期類中使用了一些復雜的三元運算符。我在那里遞增它,這樣我們就不需要另一行來遞增后面的行,并且它消除了對多行“if/else”來確定或.
$count
left
right
除此之外,你沒有提供標記結構,所以我使用了一個the_,如果你沒有意識到其中的區(qū)別
,get_the_
函數(shù)。
- 1 回答
- 0 關注
- 144 瀏覽
添加回答
舉報