Комментарии не отображаются в WordPress - single.php не просматривает комментарии. - PullRequest
0 голосов
/ 22 апреля 2019

Я настраиваю кодирование темы WordPress. У меня есть один файл .php и файл comments.php. Я не могу заставить форму комментария появляться на single.php, и я считаю, что проблема в том, что она не тянет через comments.php, потому что я помещаю какой-то фиктивный текст в comments.php, чтобы посмотреть, что появилось, и ничего не меняется на single.php, что бы я ни менял на comments.php. Я позаботился о том, чтобы комментарии были включены в обсуждение, а также в отдельные сообщения. Я прочитал и перечитал документацию и попробовал код несколькими разными способами. Я попытался добавить и вычесть код в functions.php и в CSS. Прошли недели, и я просто не знаю, что еще попробовать.

Я пытался внедрить решения, опубликованные другими, например, переход на и. Нет изменений в том, что отображается на странице одного сообщения. Я также пробовал деактивировать плагины, без эффекта.

В настоящее время мой single.php настроен так:

<?php get_header(); ?>

<!-- Post Start -->
<div class="postContainer">
<div class="ftImg"><?php the_post(); the_post_thumbnail(); ?>
</div>
<div class="post">
    <h2>
        <?php the_title(); ?>
    </h2>
    <p>
        <?php the_post(); the_content(); ?>
    </p>
    <p>
        <a class="readbtn" href="#">Back to the Blog</a>
    </p>
    <p>
        <?php echo sharethis_inline_buttons(); ?>
    </p>
            <?php comments_template(); ?> 
</div>

<?php get_footer(); ?>

Я также пробовал:

<?php get_header(); ?>

<!-- Post Start -->
<div class="postContainer">
<div class="ftImg"><?php the_post(); the_post_thumbnail(); ?>
</div>
<div class="post">
    <h2>
        <?php the_title(); ?>
    </h2>
    <p>
        <?php the_post(); the_content(); ?>
    </p>
    <p>
        <a class="readbtn" href="#">Back to the Blog</a>
    </p>
    <p>
        <?php echo sharethis_inline_buttons(); ?>
    </p>
        <?php while ( have_posts() ) : the_post();
        if ( comments_open() || get_comments_number() ) :
            comments_template();
        endif; 
    endwhile; ?>
</div>
<?php get_footer(); ?>

Я также пробовал это без части while, просто начиная с оператора if, и я также пытался поместить цикл while перед открывающим тегом h2, без изменений.

Я ожидаю, что форма комментария появится под кнопками общего доступа или, по крайней мере, фиктивный текст в моем файле comments.php, но там вообще ничего нет.

1 Ответ

0 голосов
/ 22 апреля 2019

Вы не используете цикл правильно. the_title(), the_content() и т. Д. Должны быть внутри цикла, а также comments_template().

<!-- Post Start -->
<div class="postContainer">
    <div class="ftImg"><?php the_post_thumbnail(); ?></div>

    <?php
    while ( have_posts() ) :
        the_post();
    ?>
    <div class="post">

        <h2>
            <?php the_title(); ?>
        </h2>
        <p>
            <?php the_content(); ?>
        </p>
        <p>
            <a class="readbtn" href="#">Back to the Blog</a>
        </p>
        <?php comments_template(); ?>
    </div>

    <?php endwhile; // end of the loop. ?>

</div>
<?php get_footer(); ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...