it-swarm.com.ru

Почему при переходе по файлу home.php страницы переходят на пустую страницу?

Изучая, как создавать темы WordPress с нуля, я столкнулся с проблемой при попытке кодировать свой home.php. Проблема, с которой я сталкиваюсь, связана с нумерацией страниц. После последней страницы сообщений вместо того, чтобы останавливать/отключать кнопку, она по-прежнему включает кнопку и после щелчка нажимает на нее, загружая /page/#, используя файл index.php, который на данный момент является только <?php get_header(); ?> и <?php get_footer(); ?>. Я протестировал функции с <?php next_posts_link(); ?> и <?php echo get_next_posts_link(); ?>. Я некоторое время исследовал это и наткнулся на него, возможно, что-то связано с постоянными ссылками, и они установлены на post name.

Код в home.php:

<?php 
if ( have_posts() ): while ( have_posts() ): the_post(); ?>
    <div class="thepost">
      <div class="primecircle">
        <div class="circledate">
          <div class="blogmonth"><?php the_time('M'); ?></div>
          <div class="blogdate"><?php the_time('j'); ?></div>
          <div class="blogyear"><?php the_time('Y'); ?></div>
        </div>
      </div>
    <div class="blogcontent">
      <h1 class="blogtitle"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
      <p><?php the_excerpt(); ?></p>
      <div class="learnmore"><a href="<?php the_permalink(); ?>">learn more</a></div>
    </div>
    </div>      
<?php endwhile; ?>

<div class="pagelinks">
  <ul class="tags" class="list-inline">
    <li><?php echo previous_posts_link('Back'); ?></li>
    <li><?php echo next_posts_link('Next', 5); ?></li>
  </ul>
</div>  

<?php else: ?>
    <h1 class="blogtitle">No Current blog posts at this time.</h1>      
<?php endif; ?> 

Любые предложения или указатели о том, как я могу правильно отключить функцию next_posts_link(), когда она достигает последней страницы сообщений?

Отредактировано: исправлена ​​ошибка в функции previous_posts_link();, когда я передавал ей label и max_page, когда она принимает только label. После удаления max_page из обеих функций он перестал переходить к index.php.

1
DᴀʀᴛʜVᴀᴅᴇʀ

Ваша проблема может быть связана с 5. previous_posts_link принимает только один допустимый параметр, а это $label, вы передаете два.

Во-вторых, next_posts_link принимает второй параметр $max_pages. Здесь вы передаете значение 5, которое переопределяет $wp_query->max_num_pages. Итак, вы говорите, что Wordpress там 5 страниц, независимо от реального количества страниц.

РЕШЕНИЕ:

Просто удалите 5 из ваших ссылок, это должно решить вашу проблему

1
Pieter Goosen