サポート » 使い方全般 » 親ページに子ページの抜粋を表示したい

  • 解決済 inon

    (@inon)


    失礼致します。

    現在WP3.5.1を利用してサイトを作成しております。
    当方WPについて初心者で的はずれなご質問になるかもしれませんがお許し下さい。

    標題の件ですが、親固定ページ(ID:17)に子固定ページの抜粋を表示したいのですが、いくつかサイトで検索して『タイトル』『コンテンツ』『リンク』『アイキャッチ画像』を表示することは出来たのですが、抜粋を表示する方法が解りません。

    管理画面にて子ページに『抜粋』は入力できているのですが、親ページヘの表示方法をご教示頂けましたら幸いです。

    何卒宜しくお願い致します。

    ※現在のコード

    <?php if(have_posts()):
    while(have_posts()): the_post();?>
    <h2 class=”main_title”><?php the_title();?></h2>
    <div class=”content2″>
    <?php the_content(); ?>
    </div>
    <?php endwhile; endif;?>

    <!–子ページのタイトルと本文を取得–>

    <?php
    $child_posts = get_posts( ‘numberposts=-1&order=ASC&orderby=post_title&post_type=page&post_parent=’ . $post->ID );
    if ( $child_posts ) {
    foreach ( $child_posts as $child ) {
    $c_title = apply_filters( ‘the_title’, $child->post_title );
    $c_pagelink = get_page_uri( $child->ID );
    $c_content = get_extended( $child->post_content );
    $c_content = apply_filters( ‘the_content’, $c_content[‘main’] );
    ?>

    <?php echo $c_title; ?>
    <?php echo $c_content ?>
    “><?php echo $c_title; ?>子ページはこちら
    <?php echo get_the_post_thumbnail($child->ID, ‘size_l’);?>

    以上です。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • モデレーター gatespace

    (@gatespace)

    抜粋に関するテンプレートタグは the_excerpt() です。

    また、親ページにコページの一覧を出すプラグインもありますよ。
    Child Pages Shortcode
    http://firegoby.jp/wp/child-pages-shortcode

    (テンプレートのカスタマイズも可能です)

    こんにちは

    $c_content = get_extended( $child->post_content );

    は、投稿の<!--more-->以降を取得する関数ではないですか?

    試していませんが、the_excerpt()は、idを指定できないと思いますので、

    $c_content = $child->post_excerpt;

    で取得できませんか?

    $c_content = apply_filters( 'the_content', $c_content['main'] );

    は不要ではないですか?

    http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/get_extended

    Child Pages Shortcodeを作った者です。

    抜粋欄に入力されてるテキストを取得するなら、以下のコードでいけます。

    $c_content = $child->post_excerpt;

    ただ、本文から自動生成したい場合は、ループ内でsetup_postdata()して、get_the_excerpt()しないといけないんですけど、クエリーが大量に発生するので、子ページが増えるのと比例してとても重くなります。(環境によっては子ページが20ページぐらいで、タイムアウトが出るぐらい重くなるようです。)

    なので、抜粋欄に確実に入力する & $child->post_excerpt; がおすすめです。

    the_content フィルターはショートコードとかをパースしてくれるのでケースバイケースで使ったほうがいいですけど、これも子ページにループで発生するので、子ページが増えると重くなる可能性があって要注意です。
    (でもsetup_postdata()のほうが激重です。)

    gatespace様

    御回答本当に有り難うございます。

    そのようなプラグインがあるのですね。一度試してみたいと思います。

    nobita様
    Takayuki Miyauchi様

    御回答本当に有り難うございます。
    『 & $child->post_excerpt; 』を試したところ思い通りの表示ができました!

    しかしながら、上手く表示できた仕組みがまだまだ理解できていないためWPについてどんどん勉強して行きたいと思います。

    お忙しい中、ご教示いただき本当に感謝しております。

    ありがとうございます。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「親ページに子ページの抜粋を表示したい」には新たに返信することはできません。