web-dev-qa-db-ja.com

サブページの抜粋を表示するようにこのページテンプレートを変更するにはどうすればよいですか(抜粋を投稿しないでください)。

このコードを使用してリンクされたサブページを表示するページテンプレートを作成しました。

<?php
        $mypages = get_pages( array( 'child_of' => $post->ID, 'sort_column' => 'menu_order', 'sort_or

        foreach( $mypages as $page ) {
                $content = $page->post_content;
                if ( ! $content ) // Check for empty page
                        continue;

                $content = apply_filters( 'the_content', $content );
?>
        <h2><a href="<?php echo get_page_link( $page->ID ); ?>"><?php echo $page->post_title; ?></a><
        <div class="entry"><?php echo $content; ?></div>
<?php
}
?>

ここからコード を入手し 、サブページをページ順に並べるように変更しました。

動作しますが、全ページの内容が表示されます。私はそれが注目のイメージで、ページの抜粋を表示することだけを望みます。

(私はadd_post_type_support( 'page', 'excerpt' );をfunctions.phpに追加することによってエディターのページ抜粋を有効にしました)

サブページの抜粋を表示するようにこのページテンプレートを変更する方法

3
paradroid

これらの行を少し修正してください

$content = $page->post_content;
if ( ! $content ) // Check for empty page
    continue;

$content = apply_filters( 'the_content', $content );

$content = $page->post_excerpt;
if ( ! $content ) // Check for empty excerpt content & fallback to full content
    $content = $page->post_content;
if ( ! $content ) // Check for empty page
    continue;

$content = apply_filters( 'the_excerpt', $content );

更新:特集画像の使用を追加するため

<div class="image"><?php echo get_the_post_thumbnail($page->ID);?></div>
3
Mridul Aggarwal

あなたのスニペットの作り直した例

このサンプルは、アクションをフィルタやフックにフックするプラグインを使用する方法を示します。それはまた子供のポスト税込のためのパスワード保護を使用することを可能にします。デフォルトのコア翻訳文字列。

$wpse69264_child_pages = get_pages( array(
     'child_of'    => in_the_loop ? get_the_ID() : $post->ID // Are we in the loop?
    ,'sort_column' => 'menu_order'
    ,'sort_order'  => DESC
) );

foreach ( $wpse69264_child_pages as $child )
{
    // Default filters: Excerpt length - Also takes languages in account where 1 char = 1 Word (like Chinese)
    $output = $child->post_excerpt ? $child->post_excerpt : apply_filters( 'excerpt_length', $child->post_content );

    if ( post_password_required( $child ) )
    {
        // Default translation
        _e( 'There is no excerpt because this is a protected post.' );
        continue;
    }

    // Just in case    
    $output = force_balance_tags( $output );

    // Default filters:
    $output = apply_filters( 'get_the_excerpt', $output );
    echo apply_filters( 'the_excerpt', $output );
}
unset( $wpse69264_child_pages, $child );
2
kaiser