Intereting Posts
Частично переведенная панель управления на одном из сетевых сайтов ссылку на текущую категорию, используемую на странице category.php Googles jQuery: Есть ли преимущества для его использования? Пользовательский менеджер макетов сообщений Как отредактировать wp_head и / или functions.php, чтобы удалить rss-канал, который не используется и не проверяет? Удаление действия из класса шаблона Автоматическое добавление ссылки на ссылку следующей страницы перед тегом '<! – nextpage ->' в сообщениях? Меню не отображается в пользовательской теме Сделать родительскую категорию оптгруппой Пользовательский доступ к системе WordPress Страницы должны иметь приоритет при использовании add_rewrite_rule должен ли я проверять jquery перед вложением его в плагин Доступ к подкаталогам в WordPress Install Как отобразить только подкатегорию Шрифт внутри текстового виджета не вызывает стиль очереди

Как я могу скрыть и отобразить элементы автоматически?

У меня в конце моей страницы блога есть элемент, который показывает / перечисляет следующие статьи со страницы 2.

Если второй страницы нет, этот элемент ничего не показывает.

Я хотел бы скрыть элемент автоматически, пока не будет второй страницы.

После того, как есть вторая страница, элемент должен отображаться автоматически.

Кто-нибудь знает, как я могу реализовать что-то подобное?

вот скриншот этого элемента, когда в блоге есть два сайта: введите описание изображения здесь

и здесь, когда вторая страница не существует: введите описание изображения здесь

Вы увидите, что это выглядит не очень хорошо, когда вторая страница не существует.

Я реализовал эту функцию со следующим кодом:

<?php if ( is_home() && !is_paged() ) { $post_num = get_option('posts_per_page'); ?> <div class="next-content"> <div class="page-header"><h3 class="article">Further articles<a href="<?php echo esc_url( home_url( '/' ) ); ?>page/2/" title="Zur Seite 2">on page 2</a>:</h3></div> <ul> <?php query_posts('showposts='.$post_num.'&offset='.$post_num); if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?> <li><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></li> <?php endwhile; ?><?php endif; ?><?php wp_reset_query(); ?> </ul> </div> <?php } ?> 

Я надеюсь, что вы можете помочь мне! :>

Вы можете использовать 2 свойства глобального WP_Query : max_num_pages и paged .

После этого не используйте query_posts для нового запроса, используя новый экземпляр WP_Query или get_posts .

 global $wp_query; if ($wp_query->max_num_pages > 1 && $wp_query->get('paged') < $wp_query->max_num_pages ) { $next_page = (int)$wp_query->get('paged') + 1; ?> <div class="next-content"> <div class="page-header"><h3 class="article">Weiter <a href="<?php echo esc_url( home_url( '/' ) ); ?>page/<?php echo $next_page; ?>/" title="Zur Seite <?php echo $next_page; ?>">auf Seite <?php echo $next_page; ?></a> mit:</h3></div> <?php $post_num = $wp_query->get('posts_per_page') ? : get_option('posts_per_page'); $next_posts = get_posts('posts_per_page=' . $post_num . '&paged=' . $next_page); if ( ! empty($next_posts) ) { echo '<ul>'; foreach( $next_posts as $next_post) { ?> <li><a href="<?php echo get_permalink($next_post) ?>" rel="bookmark"><?php echo get_the_title($next_post); ?></a></li> <?php } echo '</ul>'; } ?> </div> <?php } 

Просто переместите всю разметку в блок have_posts .

 if ( is_home() && !is_paged() ) { $post_num = get_option('posts_per_page'); $next = new WP_Query('posts_per_page='.$post_num.'&offset='.$post_num); if ($next->have_posts()) { while ($next->have_posts()) { $next->the_post(); ?> <div class="next-content"> <div class="page-header"><h3 class="article">Further articles<a href="<?php echo esc_url( home_url( '/' ) ); ?>page/2/" title="Zur Seite 2">on page 2</a>:</h3></div> <ul> <li><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></li> </ul> </div><?php } } wp_reset_postdata(); } 

Заметки:

  1. Вы не должны использовать query_posts поэтому я изменил его.
  2. showposts устарел и был очень долгое время, поэтому я изменил его.
  3. Синтаксис структуры «Альтернативный» не представляет ничего, кроме запутанной, трудночитаемой и подверженной ошибкам, поэтому я ее изменил.
  4. Поскольку вы не wp_query глобальный wp_query с query_posts вам не нужно сбросить весь запрос. wp_reset_postdata достаточно хорош.