サポート » 使い方全般 » 固定ページで投稿記事一覧を取得したい

  • 解決済 pastonchi

    (@pastonchi)


    固定ページ内に、ホームページと同じように
    投稿の最新記事一覧を取得したいと思っていますが、
    どれが該当タグなのかよく判りません。
    foo というスラッグの固定ページを作り、
    page-foo.php というテンプレートを特別に作って、
    その中で取得したいと思っています。
    どのタグを使えばよろしいでしょうか。ご教示願います。

10件の返信を表示中 - 1 - 10件目 (全10件中)
  • スキルがわかりませんので、phpはわかっていると仮定して…

    Codexの該当場所:最近の投稿をタイトル順に並べる

    一応参考場所:ページテンプレート

    わからないことがあれば追記で具体的に質問してみてください;)

    トピック投稿者 pastonchi

    (@pastonchi)

    コメントありがとうございます。
    PHPは一応システムが組めるレベルです。

    お教えいただいた文書を元にやって見ましたが、一部できました。
    一部というのは the_content() のみで、
    the_permalink() や the_title()、the_date() などは
    固定ページ foo に入力したものが出てしまいます。
    つまり同じタイトルと日時が並びますが、
    中身だけ違うリストができるという(笑)。
    困りました…。

    ソースを見ないことには詳しくはわかりませんが、the_title等をループの外においちゃっているのではないでしょうか?

    トピック投稿者 pastonchi

    (@pastonchi)

    いいえ。そのようなミスは…。
    ただ、以下のように関数を使わなければ読めました。
    しかし相変わらずパーマリンクは拾えないので困ります。
    一応 $p->guid で Rewrite 前のリンクは拾えるのですが、
    これだとちょっと困りますね…。

    <?php
    $posts = get_posts('order=DESC&orderby=date');
    foreach ($posts as $p) :
    ?>
    <div class="entry" id="post-<?php echo $p->ID; ?>">
      <div class="entry-header clearfix">
        <h2 class="entry-title"><a href="<?php the_permalink(); ?>"><?php echo $p->post_title; ?></a></h2>
        <div class="entry-date"><?php echo $p->post_date; ?></div>
      </div>
      <div class="entry-content">
        <?php the_content(); ?>
      </div>
    </div>
    <?php endforeach; ?>
    トピック投稿者 pastonchi

    (@pastonchi)

    あ、実際は foreach の直後に setup_postdata($p) しています。

    echo esc_url( get_permalink($p->ID) )

    トピック投稿者 pastonchi

    (@pastonchi)

    ありがとうございます。パーマリンク拾えました。
    あとは日付のフォーマットが設定から拾えればベストですが、
    これは別に支障がないので放っておきます。
    ありがとうございました。
    にしても the_content() だけ動作するのはヘンですね…。

    mysql2date( 'Y/m/d', $p->post_date )
    など
    http://codex.wordpress.org/Function_Reference/mysql2date

    トピック投稿者 pastonchi

    (@pastonchi)

    あーいえ、日付のフォーマットをハードコーディングするのではなく、
    WordPress管理画面の設定を反映させたい、ということです。
    ですがstrtotime()しなくて良い分、多少コードが短くなりますね。
    ありがとうございました。

    <?php
    $posts = get_posts('order=DESC&orderby=date');
    // ループ前
    $format = get_option('date_format');
    foreach ($posts as $p) :
    ?>
    
    mysql2date( $format, $p->post_date )

    ということでしょうか…

10件の返信を表示中 - 1 - 10件目 (全10件中)
  • トピック「固定ページで投稿記事一覧を取得したい」には新たに返信することはできません。