サポート » 使い方全般 » 特定カテゴリーの表示がうまくいきません

  • 解決済 tomoki.shimizu

    (@tomokishimizu)


    お世話になります。
    PHP初心者で、WPのカスタマイズをしております。

    WP Ver:3.1.3
    Executable PHP widgetプラグインを使い、サイドバーに特定カテゴリーのタイトルと内容を表示させたいと思い、下記コードを調べながら書きましたが、タイトルだけが最初の投稿に固定されてしまい差し変わりません(内容は差し変わります)。
    <?php $myposts = get_posts(‘category=5 & showposts=3’); foreach($myposts as $post) : ?>
     <p class=”font_bold height2″>■ <?php the_title(); ?></p>
     <p class=”excerpt_text”>
      <?php echo mb_substr(strip_tags($post->post_content), 0, 50);?>
     </p>
    <?php endforeach; ?>

    いろいろ調べてみたのですが、わかりません。
    初歩的な事かもしれませんがよろしくお願いします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • はじめまして

    http://wpdocs.sourceforge.jp/テンプレートタグ/get_posts

    を読むと、

    setup_postdata() を呼び出さずに投稿 ID またはコンテンツにアクセスするには、あるいは(the posts table に蓄積されている)任意の投稿データにアクセスするには、$post->COLUMN を使用できます。ここで COLUMN はデータのテーブルカラム名です。したがって、$post->ID は ID、 $post->post_content はコンテンツ、といった具合です。

    とあるので、the_title()は、ここでは使えず、$post->post_titleとする必要があるのではないでしょうか?
    もしくはsetup_postdata()を使った記述に改めても良いと思います。

    やろうとされてることは、リンク先のページの「全記事データにアクセスする」あたりの例文が参考になりそうに思います。

    トピック投稿者 tomoki.shimizu

    (@tomokishimizu)

    redcockerさん
    初めまして。ご回答いただきありがとうございます。

    >>the_title()は、ここでは使えず、$post->post_titleとする必要がある
    その通りでした。下記コードに直してうまくいきました。

    <?php $myposts = get_posts(‘category=5 & showposts=3’); foreach($myposts as $post) : ?>
     <p class=”font_bold height2″>■ <?php echo $post->post_title; ?></p>
     <p class=”excerpt_text”>
      <?php echo mb_substr(strip_tags($post->post_content), 0, 50);?>
     </p>
    <?php endforeach; ?>

    このような初歩的な質問にお応えいただき本当にありがとうございました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「特定カテゴリーの表示がうまくいきません」には新たに返信することはできません。