Вывод постов
Учусь создавать свою тему с 0-я. В файле index.php есть такой код:
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <div class="post"> <!-- начало поста --> <h3 class="post-title"><?php the_title(); ?><!-- Заглавие поста --></h3> <p class="post-text"> <?php the_content(); ?> </p> <!-- конец поста --> </div> <?php endwhile; ?> <!-- --> <?php else: ?> <!-- posts not found --> <?php endif; ?> </div>
Как видите, заглавия и сам текст поста выводятся в теги с определенным .css оформлением.
Вод код css:
.post {
max-width: 500px;
width: 100%;
min-width: 320px;
height: 200px;
word-wrap: break-word;
display: block;
}
.post-title {
margin: 5px auto;
}
.post-text {
font-style: italic;
font-size: 20px;
color: white;
}
На выходе получаю все записи, но оформление не приходит а в консоли, вижу что мои теги
<p class="post-text"></p> - пустые, а вместо них, сам текст поста выводится в обыкновенном <p>. Пробовал в админке текст поста менять на обычный - либо добавлялся тэг <pre> либо <p>. Подскажите в чем проблема, как её можно решить?
Замени на это
И почитай в чем разница:
https://wp-kama.ru/function/get_the_content
Я бы для начала сделал так:
А стили для h3 и p относящиеся к <div class="post"> прописывать в css следующим образом:
.post h3 { }.post p{ }the_content() сам оборачивает в p теги, поэтому тебе нужно его обернуть в div.
А то у тебя получается p тег и внутри него появляются еще p теги, который в результате вылазят наружу потому что браузер не позволяет содержать p внутри p...
Или можно просто использовать как есть...
.post { max-width: 500px; width: 100%; min-width: 320px; height: 200px; word-wrap: break-word; display: block; font-style: italic; font-size: 20px; color: white; } .post .post-title { margin: 5px auto; }