如何获取所有子页的摘录

时间:2015-05-30 作者:David Freimaucher

我目前正在尝试使其正常工作:

我想显示父站点中所有子页面的摘录列表。根据WP Codex,通过\'get_pages\' 函数和键“page\\u摘录”。这是我的方法:

    <?php $pagechildren = get_pages( array( \'child_of\' => $post->ID ) ); ?>
    <?php foreach ($pagechildren as $child) : ?>
        <div class=\'col-md-12\'>
            <h2><?php echo $child->post_title; ?></h2>
            <p><?php echo $child->page_excerpt; ?></p>
        </div>
    <?php endforeach; ?>
遗憾的是,这只适用于标题。我在exceprt的标记内没有得到任何结果。怎么了?

1 个回复
SO网友:Nicolai Grossherr

首先,它应该是post_excerpt.

其次,它只存储手动添加的摘录,因此如果没有,它将返回空的。

第三,你可以setup_postdata:

<?php $pagechildren = get_pages( array( \'child_of\' => $post->ID ) ); ?>
<?php foreach ( $pagechildren as $post ) : 
    setup_postdata( $post ); ?>
        // code
<?php endforeach;
    wp_reset_postdata(); ?>
不要忘记重置-wp_reset_postdata().

如果您使用setup_postdata(), 然后您可以使用例如。get_the_excerpt()

setup_postdata( $post );
$excerpt = get_the_excerpt();
作为@birgire correctly noted 的用法$post - 而不是$child - 必须可靠地使用可用的模板标记。

结束