Wordpress post_title () уведомление

вот мой сценарий: у меня есть 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?

Лучший, Доминик

Возможный дубликат Laravel получает свойство не объекта

delboy1978uk 30.08.2018 13:18

$ page НЕ является объектом. Сверьтесь с дампом var, чтобы на самом деле увидеть, что у вас есть. возможно массив?

delboy1978uk 30.08.2018 13:19

Возможный дубликат Категории Wordpress: попытка получить свойство не-объекта

Masivuye Cokile 30.08.2018 13:34

@MasivuyeCokile Спасибо. Но на этот раз этот метод не работает, потому что мне нужен заголовок страницы в index.php. Когда я выключаю режим отладки, уведомление исчезает, но мой все еще отсутствует.

dwd0tcom 30.08.2018 14:13
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
4
95
1

Ответы 1

Мне удалось это исправить. Как сказал мне @ 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
        }
      ?>

Другие вопросы по теме