ddimonn8080
@ddimonn8080

Почему the_content() возвращает содержимое страницы а не поста?

Здравствуйте, на странице есть несколько блоков. Сделал так:
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
                    <div class="col-md-4 col-sm-4 col-xs-6 howWeDo__innerItem">
                        <div class="howWeDo__item">
                            <div class="howWeDo__header"><img src="<?php bloginfo('template_directory'); ?>/img/icons/howWeDo_1.png" alt="" class="howWeDo__img"></div>
                            <div class="howWeDo__footer"><?php the_post(); ?></div>
                        </div>
                    </div>
                    <?php endwhile; else: ?>
                    <p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
                    <?php endif; ?>


Но при этом функция the_content() выводит содержимое страницы а не поста. В чём ошибка?
  • Вопрос задан
  • 133 просмотра
Решения вопроса 1
deniscopro
@deniscopro Куратор тега WordPress
WordPress-разработчик, denisco.pro
Здравствуйте.

А так?
<?php
global $post;
$post = get_post('ID_ЗАПИСИ');
if($post) : 
setup_postdata($post);
?>
<div class="col-md-4 col-sm-4 col-xs-6 howWeDo__innerItem">
	<div class="howWeDo__item">
		<div class="howWeDo__header"><img src="<?php bloginfo('template_directory'); ?>/img/icons/howWeDo_1.png" alt="" class="howWeDo__img"></div>
		<div class="howWeDo__footer"><?php the_content(); ?></div>
	</div>
</div>
<?php wp_reset_query(); endif; ?>

Вместо ID_ЗАПИСИ нужно вставить ID нужной Вам записи.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Uriy70
@Uriy70
Верстка, WordPress
По идее, блок с ПОСТОМ должен находиться между началом условия if и его окончанием endif. У вас почему-то в условие входит блок-колонка с классами Бустрап:
<div class="col-md-4 col-sm-4 col-xs-6 howWeDo__innerItem">

Попробуйте так:
<div class="col-md-4 col-sm-4 col-xs-6 howWeDo__innerItem">
                    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
                        <div class="howWeDo__item">
                            <div class="howWeDo__header"><img src="<?php bloginfo('template_directory'); ?>/img/icons/howWeDo_1.png" alt="" class="howWeDo__img"></div>
                            <div class="howWeDo__footer"><?php the_post(); ?></div>
                        </div>
                        <?php endwhile; else: ?>
                    <p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
                    <?php endif; ?>
                    </div>

Хотя, не совсем понятна разметка. Зачем нужен блок
<div class="howWeDo__header"><img src="<?php bloginfo('template_directory'); ?>/img/icons/howWeDo_1.png" alt="" class="howWeDo__img"></div>

если изображение в дальнейшем будет загружаться через админку?
Еще один момент... Содержимое поста может не выводиться из-за отсутствия файла single.php.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы