这是我的场景:我有一个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上获取页面标题?
最好的,多米尼克
我设法解决了这个问题。正如@ 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
}
?>