Пользовательский шаблон WordPress, отображающий сообщения дважды

Я не эксперт по WordPress, поэтому интересно, если кто-нибудь может мне помочь. Я создал собственный шаблон страницы для одной страницы, чтобы можно было объединять и отображать сообщения из одной категории на этой странице. Тем не менее, я создал один пост в этой категории, но он отображается дважды на странице. Сообщения, которые извлекаются из категории, отображаются в div «div id = main». Вот код шаблона страницы:

<?php /* Template Name: Deals Page */ ?>
<?php get_header(); ?>

</div>
//<?php while ( have_posts() ) : the_post(); ?>
<div id="title-bar">
<h1 class="bar-entry-title container"><?php the_title(); ?></h1>
</div>
<?php endwhile; ?>
<div class="container col-md-12"><!-- restart previous section-->

<div id="primary" class="content-area col-md-8">
<main id="main" class="site-main" role="main"><?php query_posts('category_name=deals &posts_per_page=20'); ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php the_title( '<h2>', '</h2>' ); ?>
<?php the_content(); ?>
//<?php get_template_part( 'content', 'page' ); ?><?php endwhile; // end of the loop. ?>
<?php
// If comments are open or we have at least one comment, load up the comment template
if ( comments_open() || '0' != get_comments_number() )
comments_template();
?>

</main><!-- #main -->
</div><!-- #primary -->

<?php get_sidebar(); ?>
<?php get_sidebar('footer'); ?>
<?php get_footer(); ?>

Знаете ли вы, почему он отображает пост дважды? Я не понимаю почему.

0

Решение

Вы запускаете две петли. Ваша строка комментариев находится за пределами PHP на 5-й строке.

Изменить это //<?php while ( have_posts() ) : the_post(); ?>

к этому <?php // while ( have_posts() ) : the_post(); ?>

Также закомментируйте первый <?php endwhile; ?> вокруг строки 9, иначе вы получите ошибку PHP

1

Другие решения

Других решений пока нет …