这是我的情况:我有一个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; ?>
的小the_title
有关,但最终还是遇到了相同的错误。
我对Wordpress有点陌生,所以我不知道该如何处理。 有没有其他方法可以在我的index.php上获得页面标题?
最好, 多米尼克
答案 0 :(得分:0)
我设法解决了这个问题。正如@ delboy1978uk告诉我的那样,我通过添加两行代码来检查标题是否为空。
这是最终代码:
<?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
}
?>