我在Wordpress中有一些代码可以获取附加到特定帖子的图像
它将该帖子的所有信息放入一个数组中,然后使用内置的Wordpress函数从中提取图像wp_get_attachment_image
然后我使用foreach
循环在图像滑块中显示图像。
我遇到的问题是它将'image1'放在数组的第1位,并将'image2'放在数组的第0位。
所以它首先显示图像2。
这是我的代码。
$args = array(
'post_type' => 'attachment',
'numberposts' => -1,
'post_status' => null,
'post_parent' => $post->ID
);
$attachments = get_posts( $args );
$images = array($attachments);
echo '<div id="postSlider"><div class="slides_container">';
if ( $attachments ) {
foreach ( $attachments as $attachment ) {
echo '<div>' . wp_get_attachment_image($attachment->ID, 'large') . '</div>';
}
echo '</div>';
if(sizeof($attachments) > 1) {
echo '<div class="sliderControls">
<a href="#" class="sliderBtnPrev">Previous</a>
<a href="#" class="sliderBtnNext">Next</a>
<span class="sliderPagination">1 of 3</span>
</div>';
}
}
echo '</div>';
根据我的阅读,foreach
循环将保留数组的顺序。所以,我想我需要改变数组的顺序,以便循环首先看到'image1'(数组位置[1])。
我对阵列的了解有限,所以我不知道如何做到这一点......任何帮助表示赞赏。
答案 0 :(得分:1)
如果您想以编程方式更改订单,请查看各种array sorting functions in PHP,尤其是
uasort()
- 使用用户定义的比较函数对数组进行排序并维护索引关联uksort()
- 使用用户定义的比较函数按键对数组进行排序usort()
- 使用用户定义的比较函数按值对数组进行排序但是对于wordpress checkout这个http://codex.wordpress.org/Template_Tags/get_posts
答案 1 :(得分:0)
如果您想按排序顺序显示图片maes,请在foreach之前使用sort
sort($attachments);
foreach ( $attachments as $attachment ) {
echo '<div>' . wp_get_attachment_image($attachment->ID, 'large') . '</div>';
}