是否显示所有张贴附件并将类别分配给最后一张图像?

时间:2010-10-18 作者:Scott B

我有一个功能get_images() 在其中,我希望在列表中显示当前帖子(或页面)的所有图像附件,其中最后一个图像具有class="last" 属性将其标记为列表中的最后一个图像。

下面的代码是我第一次获得要显示的附加图像,然而,它只列出了循环中的一个图像,所以我的foreach是拙劣的。。。

function get_images() {
  global $post;
  $attachment = array_values(get_children(array( 
    \'post_parent\' => $post->ID, 
    \'post_type\' => \'attachment\', 
    \'post_mime_type\' => \'image\', 
    \'order\' => \'ASC\', 
    \'numberposts\' => 1 
  )));
  if ( $attachment ) {
    foreach($attachment as $attachmentImage) {
      echo \'<img src="\' . wp_get_attachment_url($attachmentImage->ID) . 
        \'" class="post-attachment" />\';
    }
  }
}

1 个回复
最合适的回答,由SO网友:goldenapples 整理而成

我认为这应该可以做到:

function get_images() {
  global $post;
  $attachment = get_children(array( 
      \'post_parent\' => $post->ID, 
      \'post_type\' => \'attachment\', 
      \'post_mime_type\' => \'image\', 
      \'order\' => \'ASC\', 
      \'numberposts\'  => -1 ), 
    ARRAY_N );
  if ( $attachment ) {
    $attachment_count = count($attachment);
    foreach($i=0; $i < $attachment_count; $i++) {
      $last = ($i == ($attachment_count-1) ) ? \' last\' : \'\';
      echo \'<img src="\' . wp_get_attachment_url($attachment[$i]->ID) . 
        \'" class="post-attachment\'.$last.\'" />\';
    }
  }
}

结束

相关推荐

在WordPress主题的函数.php文件中组织代码?

我对WordPress进行的自定义越多,我就越开始考虑是否应该组织或拆分此文件。更具体地说,如果我有一堆只适用于管理区域的自定义功能,以及其他只适用于我的公共网站的自定义功能,是否有任何理由可能将所有管理功能包含在自己的文件中或将它们组合在一起?将它们拆分成单独的文件或将它们分组可能会加快WordPress网站的速度吗?WordPress/PHP是否会自动跳过具有is\\U管理代码前缀的函数?处理大型函数文件的最佳方法是什么(我的是1370行)。