Wordpress post_title()通知

问题描述 投票:0回答:1

这是我的场景:我有一个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并在此页面上放置一个小部件,显示最新的帖子,按类别筛选。

但现在页面标题将不再显示,我得到的是以下内容

通知:注意:尝试获取非对象的属性“POST_TITLE”

所以我认为问题可能与我已经尝试过获得<?php echo $page->post_title; ?>but的小the_title有关,我最终得到了同样的错误。

我是Wordpress的新手,所以我不知道如何处理这个问题。是否有另一种方法可以在我的index.php上获取页面标题?

最好的,多米尼克

php wordpress
1个回答
0
投票

我设法解决了这个问题。正如@ 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
        }
      ?>
© www.soinside.com 2019 - 2024. All rights reserved.