ウィジェット『最近の投稿』を更新日順やID順に変更する WP Queryの応用

以下の記事は、LION MEDIA(LIONE BLOG)のカスタマイズです。
お使いのテーマによっては、同じ方法でウィジェット『最近の投稿』の並び順をカスタマイズできると思いますので、参考にどうぞ。

高機能なWordPressテーマ『LION MEDIA(LION BLOG)』の場合、デフォルトのウィジェット『最近の投稿』を使えば、サムネイル付きの綺麗なタイトル一覧が表示されますが、サイトの目的によっては、ID順、更新日順、特定のカテゴリーのみ、など、好きにカスタマイズしたい場合がありますね。

記事リスト系のプラグインはたくさんありますが、外部のプラグインを使うと、どうしてもスタイルが崩れて、自分では修正できない場合があります。

そんな場合は、親テーマのfunctions.php にちょっと追記するだけで、思う通りの表示ができるようになりますので、ぜひ試してみて下さい。

なお、親テーマのfunctions.phpを書き換えた場合、テーマを自動アップデートすると、改変した部分も消えてしまうので、必ずバックアップを取るようにして下さい。

こんなサイトにおすすめ

よくリライトするので、カテゴリーやタグアーカイブなど、標準の記事の並び順を更新日順にしている。
『最近の記事』はリライトした過去記事を優先したい 

特にプロモートしたいカテゴリーやカスタム投稿タイプがある。

・ 『最近の記事』から除外したいカテゴリーやタグ、記事IDがある。

『最近の投稿』をID順にする

まず親テーマのfunctions.phpをエディタで開き、次のパートを探します。

//////////////////////////////////////////////////
//新着記事ウィジェットアイテムのフォーマット変更(サムネイル追加)
//////////////////////////////////////////////////

$r = new WP_Query( apply_filters( ‘widget_posts_args’, array( ‘posts_per_page’ => $number, ‘no_found_rows’ => true, ‘post_status’ => ‘publish’, ‘ignore_sticky_posts’ => true ) ) );
if( $r->have_posts() ) :

LION MEDIA functions.php

『最近の投稿』の記事の並び順は、WP_Queryでコントロールしているので、ここを改変すれば、ID順、更新日順、カテゴリー限定など、いろいろ応用できます。

new WP_Query( apply_filters( ‘widget_posts_args’, array( ‘posts_per_page’ => $number, ‘no_found_rows’ => true, ‘post_status’ => ‘publish’, ‘ignore_sticky_posts’ => true

記事をID順に表示したい場合。

‘orderby’=>’ID’ を追記すれば、記事IDの順番に並びます。

        $r = new WP_Query( apply_filters( 'widget_posts_args', array( 'posts_per_page' => $number, 'no_found_rows' => true, 'post_status' => 'publish', 'ignore_sticky_posts' => true, 'orderby'=>'ID' ) ) );
        if( $r->have_posts() ) :

関数リファレンス/WP Queryを参考に、orderby を modified(更新日)、title(タイトル)などに置き換えれば、いろいろ応用がききます。

カスタム投稿タイプで限定したい場合は、’post_type’ => ‘カスタム投稿名’ 

カテゴリーに限定したい場合は、’category_name’ => ‘カテゴリー名’

複数のタグに限定したい場合は、’tag’ => ‘movie,book’ などタグ名をコンマで併記

特定のメタキーに限定したい場合は、 ’meta_key’ => ‘メタ値’,

特定のタグを除外したい場合は、’tag__not_in’ => ‘タグ名’

また続きの部分、サムネイルと記事タイトルを表示する部分に excerpt(抜粋) などを追記することも可能だと思います。

 <?php if ( has_post_thumbnail()): ?>
                  <?php the_post_thumbnail('thumbnail'); ?>
                <?php else: ?>
                  <img src="<?php echo get_template_directory_uri(); ?>/img/img_no_thumbnail.gif" alt="NO IMAGE">
                <?php endif; ?>
                </span></a>
                <h3 class="imgListWidget__title">
                  <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
                  <?php if( !empty( $instance['show_date'] )): ?><span class="post-date"><?php the_time('Y.m.d'); ?></span><?php endif; ?>
                </h3>
                <?php the_excerpt(); ?> //ここに追記//
           </li>
              <?php endwhile; ?>
            </ol>
            <?php
            echo $after_widget;
 
        wp_reset_postdata();         
        endif;
    }
}

同じ要領で、タグやカテゴリー名を追記することも可能かと思います。
腕に自信のある方は試してみて下さい。

LION MEDIA(LION BLOG)のカスタマイズ

[su_posts template=”templates/list-loop.php” taxonomy=”topics” tax_term=”lion-media” post_type=”word”]

QUOTE CARD

  • どんな高邁な理想も、言葉だけでは人は動かせない。 身をもって示して初めて、理想が理想としての意味をもつ。 その後、彼は死ぬまで父を忘れず、その生き様を指針にするわけだが、愛とは何かと問われたら、慈しむだけが全てではない。身をもって生き様を示す勇気も至上のものだろう。 誰でも犠牲は怖い。  自分だけ馬鹿正直をして、損したくない気持ちは皆同じだ。  だが、その結果、一番側で見ている子供はどうなるか、いわずもがなだろう。  言行の伴わない親を持つほど不幸なことはない。  たとえ現世で馬鹿正直と言われても、本物の勇気、本物の優しさ、本物の気高さを間近に見ることができた子供は幸いである。 どんな高邁な理想も、言葉だけでは人は動かせない。 身をもって示して初めて、理想が理想としての意味をもつ。...
  • 「創造的」というのは詩を書いたり、絵を描いたり、という意味ではありません。無の平原から意味のある何かを立ち上げることです。 より良く生きる為に、日々、考えること、実行すること、その全てが『創造』です。 どんなに小さくても、昨日よりは今日、今日よりは明日、少しずつでも歩みを進め、善きものを積み上げることを「創造的な生き方」と言います。 「創造的」というのは詩を書いたり、絵を描いたり、という意味ではありません。無の平原から意味のある何かを立ち上げることです。 より良く生きる為に、日々、考えること、実行すること、その全てが『創造』です。...
Morgenrood 曙光

Kindle Unlimited

宇宙文明の根幹を成すレアメタルをめぐる企業の攻防と人間の生き様を描いた本格的な海洋ロマン。専門用語は使わず、予備知識のない人でも分かりやすい内容に仕上がっています。無料PDFも配布中。Kindle Unlimited 読み放題の分冊もリリース。

この記事を書いた人

石田 朋子

文芸愛好家&サブカルチャー・ファン。主に70年代~90年代の作品に思い入れがあります。寺山修司の名言『詩を作るより、田を作れ(揶揄)』をモットーに、好きな作品を次代に伝えることを目標にしています。海外在住につき、現代日本とは相容れない所がありますがご容赦ください。
※ 現在、制作巣ごもり中につき、ほとんど更新していません。