• 解決済 n.design

    (@mam-mam)


    初歩的な質問で申し訳ないです。

    例えば、post id=01 の記事中に、post id=02、post id=03の記事内容を読み込みたいのですが、上手くいきません。

    試してみた方法としては、
    ①プラグイン「Improved Include Post」を使う。
    プラグイン有効化後、記事の中に
    [include-post id="1789"]
    を入れてみましたが表示されませんでした。

    ②「Exec-PHP」で記事中にPHPで読み込む

    <?php
    $page_array = query_posts('p=[02]');
    $page = array_shift($page_array);
    echo $page->post_content;
    ?>

    とか、

    <?php query_posts('p=[02]');if (have_posts()) :?>
    <?php while (have_posts()) : the_post(); ?>
    <?php the_content(__('Read More ≫','my84')); ?>
    <?php endwhile; ?>
    <?php wp_reset_query();endif; ?>

    を記事の中に書き込みましたが、ID=02だけでなく他の記事も読み込んできたりしました。

    プラグイン「Improved Include Page」を使って、ページの中に別のページを読み込むことはできたのですが。
    「Improved Include Post」のように、ショートコードでIDを指定すると読み込んでくれるというのが理想です。

    宜しくお願いします!

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • 例えばこういうこと?

    // [include-post id="1"]
    function include_post_func($atts) {
      extract(shortcode_atts(array(
        'id' => '',
      ), $atts));
    
      $post_id = get_post ( $id );
      $content = $post_id->post_content;
    
      return $content;
    }
    
    add_shortcode('include-post', 'include_post_func');

    トピック投稿者 n.design

    (@mam-mam)

    shokun0803様
    早々にご回答いただきありがとうございます!!

    教えていただいたコードをfunctions.phpに追加して、記事中に
    [include-post id="記事ID"]
    を記述しましたが表示されませんでした。。。
    いろんなプラグインを入れているからかもしれません、、、

    orangemint様
    素敵なプラグインを教えていただきありがとうございます。
    記事が表示されましたが、
    「Lightweight Google Maps」でそのページに読みこんでいる地図もなぜか一緒に表示されてしまいました。(読み込み元には地図は表示してないのですが。。)

    地図を外すと思うような感じになったので、違う地図表示プラグインを探して見ます。

    ありがとうございました!

    私の提示したコードはImproved Include Postと確実に競合します。だって同じ書き方のショートコードだもん;)

    と、いうことで、最低でもImproved Include Postははずしてください。それでもだめなら他にショートコードに関するものだけでも一時的にはずして試してみると何が競合しているのかわかるかもしれません。競合しているものがあったら、関数名など変更して試してみるといいかも?

    ちなみに私の提示したコードはほぼcodex上のショートコード APIに書かれているものです。これが動かないとなるとImproved Include Postが動かないのも当然かもしれませんね。Improved Include Postプラグインだけ動かしてテーマもデフォルトにして動くなら他のプラグインかテーマに問題があるのかもしれません。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「投稿記事に別の記事を読み込むには?」には新たに返信することはできません。