Уведомления PHP появляются при просмотре любой страницы в admin, но только для дочерней темы, используя код из кодекса WP
Мой php_error.вход в мою консоль (локально в OSX) сообщает о 3 уведомлениях PHP. Уведомления PHP появляются только при просмотре каждой страницы администратора в фоновом режиме для сайта (с несколькими сайтами), который использует дочернюю тему. Дочерняя тема использует родительскую тему sidebar.php в который помещен приведенный ниже код.
Уведомления PHP не отображаются для сайта, который использует фактическую родительскую тему. Кроме того, если я сделаю еще один sidebar.php в дочерней теме, то уведомления по-прежнему подарок. Интересно, что эти уведомления не появляются при локальном просмотре сайта, и все работает так, как ожидалось. Они появляются только при просмотре страниц администратора. Код на моей боковой панели - это точный код с этой страницы в Кодексе WP.
Точный код:
<?php
if($post->post_parent) {
$children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0");
$titlenamer = get_the_title($post->post_parent);
}
else {
$children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0");
$titlenamer = get_the_title($post->ID);
}
if ($children) { ?>
<h2> <?php echo $titlenamer; ?> </h2>
<ul>
<?php echo $children; ?>
</ul>
<?php } ?>
Любые уведомления PHP:
PHP Notice: Trying to get property of non-object in sidebar.php on line 10
PHP Notice: Trying to get property of non-object in sidebar.php on line 16
PHP Notice: Trying to get property of non-object in sidebar.php on line 17
Строки, о которых идет речь в приведенном выше коде, следующие:
if($post->post_parent) { // line 10
$children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0"); // line 16
$titlenamer = get_the_title($post->ID); // line 17
Любые идеи, почему эти уведомления будут появляться на страницах администратора и только для ребенка тема? Должен ли я просто игнорировать их?
1 answers
Это довольно просто:
Вы пытаетесь получить свойство parent
из объекта $post
, но это либо NULL
, либо просто не прикреплено. В обоих случаях вы
Trying to get property of non-object
Из объекта $post
.
Просто проверьте if ( isset( $post->parent ) ) { /* do stuff */ }
.