WordPress get_posts (показать все вложения) нумерация страниц вне цикла - PullRequest
1 голос
/ 22 января 2012

На одной из моих страниц Wordpress (на самом деле это сайт с графическим блогом) я использую masonry.js с функцией Wordpress get_posts, чтобы выгрузить все вложения в мои записи в блоге и отобразить их в виде сетки.Это отлично работает.Однако изображений явно много, и я надеялся использовать с ним infinitescroll.js.Единственная проблема заключается в том, что функция get_posts вне цикла не сохраняет нумерацию страниц и, следовательно, не работает функциональность infinitescroll.js.

Вот код, который я использую для выгрузки всех вложений:

<?php
$args = array( 'post_type' => 'attachment', 'numberposts' => -1, 'post_status' => null, 'post_parent' => null ); 
$attachments = get_posts( $args );
if ($attachments) {
    foreach ( $attachments as $post ) {
        setup_postdata($post);
        the_attachment_link($post->ID, true);
        the_excerpt();
    }
}
?>

Есть ли в любом случае добавление пагинации к исходному дампу вложений Wordpress get_posts() вне цикла, или кто-нибудь может придумать решение?

1 Ответ

0 голосов
/ 22 января 2012

Я сделал нечто подобное, используя параметр 'offset' для получения сообщений.

Обычно при каждом новом вызове для получения сообщений просто увеличивайте сумму смещения на количество новых миниатюр, которые вы хотите отображать каждый раз. Когда количество возвращенных миниатюр меньше, чем сумма смещения, вы достигли конца своих сообщений.

Другим решением является использование параметров разбиения на страницы класса Wp_Query. Смотрите здесь , что это такое.

...