サポート » 使い方全般 » 親ブログに各子ブログの記事一覧を1つのテンプレートにまとめたい

  • mocomoco

    (@silent_dandy)


    カスタムページテンプレートを作成するとスマートにできそうです。
    WordPressページテンプレートを作ってみよう

    今回の場合だと、仮にchildblog.phpを作成し、ファイルの先頭に

    <?php
    /*
    Template Name: 子ブログ記事一覧表示
    */
    ?>

    を記述してテンプレートを作成し、
    <?php switch_to_blog(2) ?>
    のブログ切り替えのID部分をカスタムフィールドにして変更できるようにしてやると実現できそうです。

    例えば、カスタムフィールドのkeyをuse_blog_idとし、valueに任意の値を入力する欄を作っておいて、
    <?php switch_to_blog(get_post_meta($post_id,'use_blog_id',true)) ?>
    で取得するようにします。
    (テストしていませんので、そちらの環境で動くかはわかりません。)

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック投稿者 mocomoco

    (@silent_dandy)

    カスタムページテンプレートを作成するとスマートにできそうです。

    今回の場合だと、仮にchildblog.phpを作成し、ファイルの先頭に

    <?php
    /*
    Template Name: 子ブログ記事一覧表示
    */
    ?>

    を記述してテンプレートを作成し、
    <?php switch_to_blog(2) ?>
    のブログ切り替えのID部分をカスタムフィールドにして変更できるようにしてやると実現できそうです。

    例えば、カスタムフィールドのkeyをuse_blog_idとし、valueに任意の値を入力する欄を作っておいて、
    <?php switch_to_blog(get_post_meta($post_id,'use_blog_id',true)) ?>
    で取得するようにします。
    (テストしていませんので、そちらの環境で動くかはわかりません。)

    ありがとうございます!

    テンプレートを作成して、
    カスタムフィールド use_blog_id を追加しました。

    advanced custom fields を使用しているので

    <?php $num = get_field('use_blog_id');
    	switch_to_blog($num) ?>
    <?php
    global $post;
    $myposts = get_posts('numberposts=5');
    foreach($myposts as $post) :
    setup_postdata($post);
    ?>
    
    <?php the_title(); ?>
    <?php the_content(); ?>
    
    <?php endforeach; ?>
    <?php restore_current_blog(); ?>

    として、各固定ページのカスタムフィールドに子サイトのIDの値を入力して
    無事動作致しました。

    これで1つのテンプレートで済みます。
    本当にありがとうございす。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「親ブログに各子ブログの記事一覧を1つのテンプレートにまとめたい」には新たに返信することはできません。