markstewie
  • 0
Новичок

Разбивка на страницы с произвольным типом записи не работает

  • 0

По какой-то причине я не могу заставить работать разбиение на страницы с помощью previous_posts_link и next_posts_link.

Вот код, который у меня есть…

<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; ?>

<?php // The Query
$the_query = new WP_Query(
array(
    'post_type'=>'article',
    'posts_per_page'=>2,
    'orderby'=>'date',
    'paged'=>$paged
)
);

// The Loop
while ( $the_query->have_posts() ) : $the_query->the_post();

if($the_query->current_post == 0 && $paged == 1) :
?>
<article class="latest">
    <div class="summary">
        <h4>LATEST ARTICLE:</h4>

        <h2><?=the_title(); ?></h2>
        <div class="entry-meta">
            <?php proagent_posted_on(); ?>
        </div><!-- .entry-meta -->
        <div class="entry-content">
            <?=get_the_content_limit(300, 'More'); ?>

        </div><!-- .entry-content -->

        <div class="entry-topics"><?=get_the_term_list($post->ID , 'topics', 'Topics: ',', '); ?></div>
    </div>
    <?=the_post_thumbnail('feature-post-thumbnail'); ?>
</article>

<?php else: ?>
<article class="previous">
    <?=the_post_thumbnail(); ?>
    <div class="summary">
        <h2><?=the_title(); ?></h2>
        <div class="entry-meta">
            <?php proagent_posted_on(); ?>
        </div><!-- .entry-meta -->
        <div class="entry-content">
            <?=get_the_content_limit(300, 'More'); ?>

        </div><!-- .entry-content -->

        <div class="entry-topics"><?=get_the_term_list($post->ID , 'topics', 'Topics: ',', '); ?></div>
    </div>
</article>
<?php endif; ?>

<?php endwhile; ?>
<nav id="nav-below" class="navigation">
    <div class="alignleft"><?php previous_posts_link('« Newer Articles') ?></div>
    <div class="alignright"><?php next_posts_link('Older Articles »') ?></div>
</nav><!-- #nav-below -->

Кроме того.. только что заметил, что это работает, когда я перехожу к /articles/page/2, есть ссылка на /articles/, как и должна быть, но со страницы /articles/ нет ссылки на страницу 2.. ПОЧЕМУ?

ПОЖАЛУЙСТА, помогите, если можете… это сводит меня с ума.

Спасибо! отметка.

Share
  1. В каком контексте вы пытаетесь заставить это работать? Шаблон страницы? Шаблон категории? index.php? Это может иметь важные последствия для кода.

    • 0
    • Это настраиваемый шаблон категории сообщений. Я пытаюсь показать элементы в своем пользовательском типе сообщений, называемом «статьи», и это домашняя страница статей. Я определил страницу, также называемую article.php, в которой я кодирую. Любая помощь будет очень, очень, очень признательна.

      • 0
  2. Разбиение на страницы работает только в том случае, если установлен paged атрибут в глобальной $wp_query переменной. Вы можете сохранить свой запрос вручную в этом глобале или просто использовать query_posts() вместо new WP_Query() .

    <?php
        $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
        $the_query = query_posts(
            array(
                'post_type'=>'article',
                'posts_per_page'=>2,
                'orderby'=>'date',
                'paged'=>$paged
            )
        );
        // ...
    ?>
    

    Функция query_posts() сбросит существующую глобальную переменную $wp_query, запустит новую WP_Query() и снова сохранит результат в глобальной $wp_query переменной.

    • 0

Оставить ответ

You must login to add an answer.