вот мой сценарий: у меня есть index.php, который загружает все страницы, которые у меня есть одна под другой. В конце концов, это одностраничный.
Я нашел этот фрагмент в Интернете, и он мне очень помог, создав его.
<?php
$mypages = get_pages( array('child_of' => 1503, 'sort_column' => 'menu_order') );
foreach( $mypages as $page ) {
$content = $page->post_content;
if ( ! $content ) // Check for empty page
continue;
$content = apply_filters( 'the_content', $content );
?>
<section>
<div class = "headlines info-header"><img src = "<?php echo get_template_directory_uri(); ?>/assets/images/arrow.png" alt = "arrow"><?php echo $page->post_title; ?></div>
<div class = "page-content"><?php echo $content; ?></div>
</section>
<?php
}
?>
Кажется, все работает нормально. Но теперь перейдем к проблемной части этого. Я хочу отображать сообщения также на этой странице. Я попытался создать еще одну страницу news и разместить на ней виджет, который показывает последние сообщения, отфильтрованные по категориям.
Но теперь заголовок страницы больше не отображается, все, что у меня есть, это следующее
notice: NOTICE: TRYING TO GET PROPERTY 'POST_TITLE' OF NON-OBJECT IN
Поэтому я подумал, что проблема может быть связана с маленьким <?php echo $page->post_title; ?>, который я уже пытался просто получить, но в итоге получил ту же ошибку.
Я новичок в Wordpress, поэтому не знаю, как с этим бороться. Есть ли другой способ получить заголовок страницы на моем index.php?
Лучший, Доминик
$ page НЕ является объектом. Сверьтесь с дампом var, чтобы на самом деле увидеть, что у вас есть. возможно массив?
Возможный дубликат Категории Wordpress: попытка получить свойство не-объекта
@MasivuyeCokile Спасибо. Но на этот раз этот метод не работает, потому что мне нужен заголовок страницы в index.php. Когда я выключаю режим отладки, уведомление исчезает, но мой все еще отсутствует.






Мне удалось это исправить. Как сказал мне @ delboy1978uk, я проверяю, не пустой ли заголовок, добавляя 2 строки кода.
Вот окончательный код:
<?php
$mypages = get_pages( array('child_of' => 1503, 'sort_column' => 'menu_order') );
foreach( $mypages as $page ) {
$content = $page->post_content;
$title = $page->post_title;
if ( ! $content ) // Check for empty page
if ( ! $title) // Check for empty title < NEW!
continue;
$content = apply_filters( 'the_content', $content );
?>
<section>
<div class = "headlines info-header"><img src = "<?php echo get_template_directory_uri(); ?>/assets/images/arrow.png" alt = "arrow"><?php echo $title; ?></div>
<div class = "page-content"><?php echo $content; ?></div>
</section>
<?php
}
?>
Возможный дубликат Laravel получает свойство не объекта