Максимальное количество циклов PHP - PullRequest
0 голосов
/ 16 ноября 2011

Как я могу установить максимальное количество раз, которое цикл выдает (я пробовал с циклом while, но он не работал)?

function show_random_thumbs() {

$args = array(
'orderby'        => 'rand',
'post_type'      => 'attachment',
'post_parent'    => null,
'post_mime_type' => 'image',
'post_status'    => 'published',
'numberposts'    => -1,
);
$attachments = get_posts($args);
if ($attachments) {
    foreach ($attachments as $attachment) {
        echo '<a href="';
        echo get_permalink($attachment->post_parent);
        echo '" title="';
        echo get_the_title($attachment->post_parent);
        echo '">';
        $title = get_the_title($attachment->post_parent);
        echo wp_get_attachment_image($attachment->ID, 'thumbnail', false, array('title' => $title) );
        echo '</a>';
    }
}
}

Ответы [ 4 ]

2 голосов
/ 16 ноября 2011

Имеется переменная счетчика и break, когда она превышает определенный уровень.

$count = 0;
foreach($array as $element) {
  $count++;

  // do stuff

  if($count == 10) {
    break;
  }
}
1 голос
/ 16 ноября 2011

Почему бы вам не ограничить размер массива, который вы просматриваете:

$attachments = get_posts($args);
if ($attachments) {
     $attachmentsToDisplay = array_slice( $attachments, 0, 50 );
     foreach ($attachmentsToDisplay as $attachment) {
         etc...
     }
}

Также не уверен, что делает ваша функция get_posts (), но вы можете проверить, что $ attachments на самом деле является массивом перед циклом foreach.

1 голос
/ 16 ноября 2011

используйте значение, которое вам нужно в вашем массиве $ args для ключа numberposts

0 голосов
/ 16 ноября 2011

Вы должны ввести переменную-счетчик и выйти из цикла, если переменная достигает определенного значения.Или вы можете просто использовать цикл для .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...