サポート » 使い方全般 » 固定ページ内の新着記事の表示について

  • 解決済 chotto2

    (@chotto2)


    無料ブログサービスのSitemix内でワードプレスを使っています。
    このようなフォーラムがあるのを知らずに教えてgooにも質問を出していますが、らちが明かないのでご専門の方々のアドバイスいただければ幸いです。

    ブログ来訪者の誘導を意図した固定ページ(タイトルは仮に「目次」)を作り、そこに
     1.「カテゴリー」の一覧
     2.「新着記事」を5件
     3.「人気記事」を5件
    表示したいと思っています。

    記事内のPHPを有効化するプラグイン「PHP execution」を使って、その固定ページ内に下記のようなソースを盛り込みました。

    先に状況を書きますが、2.の「新着記事」のところに、今作っている固定ページの「目次」というタイトルがずらっと表示されてしまいます。
    ここには投稿記事に並んでほしいのです。
    (新しい記事を投稿しても変化はありません)

    <以下ソース>

    <p>【カテゴリー一覧】

      <?php wp_list_cats(‘optioncount=1 & hierarchical=1 & hide_empty=1’); ?>

    【新着記事】

      <?php
      $lastposts = get_posts(‘numberposts=5’);
      foreach($lastposts as $post) :
      setup_postdata($post);
      ?>

    • ” id=”post-<?php the_ID(); ?>”><?php the_title(); ?>(<?php printf(__(‘カテゴリー: %s’, ‘kubrick’), get_the_category_list(‘, ‘)); ?>)
    • <?php endforeach; ?>

    【人気の記事】
    <?php if (function_exists(‘get_most_viewed’)): ?>

      <?php get_most_viewed(‘post’, 5); ?>

    <?php endif; ?></p>

    <ここまで>

    1.と3.については意図したとおりに表示されています。
    「新着記事」についてはサイドバーにも枠を設けていて、そこでは意図したとおり投稿記事のみで表示されています。2.の部分のコードはそのサイドバーからコピーしただけです。

    ちなみに他の固定ページも改訂更新してみたのですが、それは新着に表示されません。

    なぜこのような現象が起こっているのか、ご指導いただければ幸いです。
    よろしくお願いいたします。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • 固定ページの中で呼び出すとして、テンプレートタグ/get postsを見た感じでは、
    get_posts('numberposts=5');
    に投稿タイプの指定を追加してやればよいかもしれません。
    get_posts('numberposts=5&post_type=post');

    それでダメならwp_reset_queryなどもお試しください。

    横から失礼します。

    「Customizable Post Listings」というプラグインを使うと固定ページも拾ってくれそうです。
    http://wordpressing.zxq.net/?p=115

    参考までに

    kurosquare様
    早々に投稿ありがとうございました。

     >get_posts(‘numberposts=5’);
     >に投稿タイプの指定を追加してやればよいかもしれません。
     >get_posts(‘numberposts=5&post_type=post’);

    上記ご指示の記述を試してみましたが、残念ながら「変化なし」でした。

     >それでダメならwp_reset_queryなどもお試しください。

    wp_reset_queryも見よう見まねで使ってみましたが、何も表示されなくなるなどの現象もあり、知識不足にて断念いたしました。

    keibai様
    投稿ありがとうございました。

    「なぜこのような現象が起きるのか?」という根本的な問題は残るのですが、教えていただいたプラグイン「Customizable Post Listings」を使うことで当初望んだ表示ができるようになりました。
    大変ありがとうございました。

    以下に最終のコードを表示して、解決とさせていただきます。

    <p><span class="box-yellow-b">【人気の記事】</span>
    <?php if (function_exists('get_most_viewed')): ?>
       <ul>
          <?php get_most_viewed('post', 5); ?>
       </ul>
    <?php endif; ?></p>
    <p><span class="box-yellow-b">【新着情報】</span>
    <?php if (function_exists('c2c_get_recent_posts')) { ?>
       <ul>
        <?php c2c_get_recent_posts(5,"<li>%post_URL%</li>"); ?>
       </ul>
    <?php } ?></p>
    <p><span class="box-yellow-b">【カテゴリー一覧】</span>
    <ul>
    <?php wp_list_cats('optioncount=1 & hierarchical=1 & hide_empty=1'); ?>
    </ul></p>

    記事内のPHPを有効化するプラグイン「PHP execution」を使って、その固定ページ内に下記のようなソースを盛り込みました。

    解決済みですけどね・・・なぜショートコードを作らないのか?と、思ってみたりするのですよ;)

    shokun0803様
    コメントありがとうございます。
    残念ながらまだ素人過ぎで、コメントいただいて初めて「ショートコード」なるものを知った次第です。
    今後勉強していきたいと思います。

    現在ワードプレスのカスタマイズが本当に楽しくて、ここでショートコードにはまっていると本題を忘れそうです。

    ショートコードはいずれ避けては通れそうもないので、
    またその時にはよろしくお願いします。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「固定ページ内の新着記事の表示について」には新たに返信することはできません。