1

我在 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])。

我对数组的了解是有限的,所以我不确定如何做到这一点.. 任何帮助表示赞赏。

4

2 回答 2

1

如果您想以编程方式更改顺序,请查看PHP 中的各种数组排序函数,尤其是

  • uasort()— 使用用户定义的比较函数对数组进行排序并保持索引关联
  • uksort()— 使用用户定义的比较函数按键对数组进行排序
  • usort()— 使用用户定义的比较函数按值对数组进行排序

但是对于 wordpress 结帐这个http://codex.wordpress.org/Template_Tags/get_posts

于 2013-03-25T12:26:13.703 回答
0

如果您想按排序顺序显示图像,请在sortforeach 之前使用

    sort($attachments);
    foreach ( $attachments as $attachment ) {
    echo '<div>' . wp_get_attachment_image($attachment->ID, 'large') . '</div>';
    }

参考: http: //php.net/manual/en/function.sort.php

于 2013-03-25T12:24:31.243 回答