1 回答

TA貢獻1779條經(jīng)驗 獲得超6個贊
如果您對數(shù)組更熟悉,則可以隨時使用該get_posts()函數(shù),它接受參數(shù)(幾乎)與WP_Query()Class 完全一樣。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.';
}
有幾件事:
我將
$args
數(shù)組移動到它自己的變量中。一些查詢可能會變得相當復雜,將它們作為指定變量可以提高長期可維護性。如果您只需要 ,您也不需要該
post_type
參數(shù)post
,因為這是默認值。我添加了一個
if
子句,所以如果你的帖子消失了或者你移動了這段代碼,就會有一個“沒有找到”的后備。我在 post 類中使用了一些復雜的三元運算符。我在那里增加它,所以我們不需要另一行來增加
$count
后者,它消除了對多行“if/else”來確定left
or的需要right
。除此之外,您沒有提供標記結構,因此如果您不知道差異,我使用了
the_
andget_the_
函數(shù)。
- 1 回答
- 0 關注
- 126 瀏覽
添加回答
舉報