我有以下PHP来循环浏览WordPres中的图像
function marty_get_images($post_id) {
global $post;
$thumbnail_ID = get_post_thumbnail_id();
$images = get_children( array('post_parent' => $post_id, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID') );
if ($images) :
foreach ($images as $attachment_id => $image) :
if ( $image->ID != $thumbnail_ID ) :
$img_title = $image->post_title; // title.
$img_caption = $image->post_excerpt; // caption.
$img_description = $image->post_content; // description.
$img_alt = get_post_meta($attachment_id, '_wp_attachment_image_alt', true); //alt
if ($img_alt == '') : $img_alt = $img_title; endif;
$big_array = image_downsize( $image->ID, 'large' );
$big_img_url = $big_array[0];
$thumb_array = image_downsize( $image->ID, 'thumbnail' );
$thumb_img_url = $thumb_array[0];
?>
<a href="<?php echo $big_img_url; ?>" class="thumb"><img src="<?php echo $thumb_img_url; ?>" alt="<?php echo $img_alt; ?>" title="<?php echo $img_title; ?>" /></a>
<?php endif; ?>
<?php endforeach; ?>
<?php endif;
}
我想循环一次。我的剧本有什么变化?
答案 0 :(得分:2)
您可以使用break
声明:
<?php endif; ?>
<?php break; ?>
<?php endforeach; ?>
答案 1 :(得分:1)
在HTML链接后添加break;
。这将突破foreach
循环并继续执行可能在循环之后的任何其他代码。
http://php.net/manual/en/control-structures.break.php
<?php break; ?>
答案 2 :(得分:1)
只进行一次迭代,你可以使用&#34; LIMIT&#34;在查询上只返回数据库中的一条记录
$images = get_children( array('post_parent' => $post_id, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID', 'limit' => '1') );
仅用于条件匹配的一次迭代
if ( $image->ID != $thumbnail_ID ) :
你可以添加休息;之前
Break;
<?php endif; ?>
<?php endforeach; ?>
将检查缩略图的一个条件匹配
答案 3 :(得分:1)
最好使用array_slice并运行一次循环
orderId
这里, 0 =循环开始的索引形式, 1 =运行一次循环