Ссылки на разбивку на страницы get_next_posts_link() не работает

#php #html #css #wordpress

#php #HTML #css #wordpress

Вопрос:

Я пытаюсь добавить навигатор страниц на свой сайт WordPress. Я просмотрел веб-сайт WordPress и скопировал его точно в свой код, но по какой-то причине он не работает.

вот мой код, я допускаю синтаксическую ошибку? любая помощь будет оценена

        <?php 
       $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
       $args = array (
         'post_type' => 'post',
         'category_name' => get_the_title(),
         'posts_per_page' => 5,
         'paged' => $paged,
       );
       $query = new WP_Query($args);
       if ( have_posts() ) : while($query->have_posts()) : $query->the_post();
       ?>
       <hr />
       <?php endwhile; ?>
      </div>
        
        
        <div class="pagination flex-row">
          <a href="<?php get_next_posts_link('older posts'); ?>"><i class="fas fa-chevron-left"></i> 
          </a>
          <a href="#" class="page-numbers">1</a>
          <a href="#" class="page-numbers">2</a>
          <a href="#" class="page-numbers">3</a>
          <a href="<?php get_previous_posts_link('older posts'); ?>"><i class="fas fa-chevron-right"> 
          </i></a>
          <h1> <?php get_previous_posts_link('older posts'); ?>
          <?php get_next_posts_link('older posts'); ?>
        </h1>
        </div>
          <?php endif;  wp_reset_query();?>
      </div>
  

Ответ №1:

Get-функции возвращают что-то вместо того, чтобы повторять это. Добавьте echo перед каждой функцией, например

 echo get_previous_posts_link('older posts');
  

и так далее

Комментарии:

1. Я попробовал это, и это все равно не сработало. Я думаю, это может иметь какое-то отношение к размещению? Потому что, когда я попытался повторить его в <h1>, я не получаю никаких значений

2. Нет необходимости вставлять его внутрь тега привязки, потому что вывод функции является самим тегом привязки. Также я только что упомянул, что category_name в аргументах запроса должно быть category slug, но get_the_title возвращает фактическое имя категории. Возможно, он не может найти никаких сообщений, и именно поэтому нет ссылки next / prev. Если вам все еще нужна эта функциональность, попробуйте sanitize_title(get_the_title))

3. Спасибо за вашу помощь, я ценю это. Я использовал get_the_title, чтобы он реагировал на отображаемую страницу. Я был уверен, как связать категории относительно, потому что это находится в шаблоне страницы. Тем не менее, я обнаружил проблему. Мне нужно использовать get_the_next_posts_page_link()