サポート » 使い方全般 » 昇順に並べた記事で一番最近に投稿したものにIDを付与したい

  • 解決済 tak7910

    (@tak7910)


    いつもお世話になっております。

    表題の通り、あるカテゴリの記事を抽出して、昇順(古いものが上で、
    新しいものが下)に表示させているのですが、
    その中で最新の記事に対して特定のIDを付けるというカスタマイズをやったのですが、
    一番上のものに対してIDがついてしまいました。

    ソートをASCでかけているせいで逆になったんだろうなというところまでは検討がついたのですが、
    いざ本来実現させたい一番最近に投稿して一番下に表示される記事に対して特定のIDを付けるということをどうやったら達成できるかをいろいろ試してみてるのですが、上手く行かずです。

    下記にやってみたコードを記載しますので、よろしければご助言いただければ、
    助かります。

    <?php
    $my_query = new WP_Query( array(
    'cat' => 3,
    'posts_per_page' => '-1',
    'orderby' => 'date',
    'order' => 'ASC'
    ));
    if( $my_query->have_posts() ) :
    ?>
    
    <ul>
    <?php while( $my_query->have_posts() ) : $my_query->the_post(); ?>
    <li class="clearfix"
    <?php
    //IDを付ける件数
    if ($my_query->current_post == 0) {
    echo 'id="faq3"';
    }
    ?>
    >
    </li>
    </ul>

    上記のような感じで書いてます。
    何かいいお知恵を頂ければ助かります。

    よろしくお願いします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • こんにちは、
    件数は、以下のような方法で取れると思いますので、どこでクラスを追加するか指定することができるのではないかと思います

    var_dump( $my_query->posts );
    
    $count_posts = wp_count_posts();
    
    echo $published_posts = $count_posts->publish;
    スレッド開始 tak7910

    (@tak7910)

    nobita様

    ご返信いただいておりましたのに申し訳ございませんでした。

    //IDを付ける件数
    if ($my_query->current_post == 0) {

    の部分を下記のような感じに変えて対応できました。
    ありがとうございました。

    if ($my_query->current_post == $my_query->post_count - 1) {

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「昇順に並べた記事で一番最近に投稿したものにIDを付与したい」には新たに返信することはできません。