How to display various lists of WordPress displayed in "release date order" in "update date order"

「公開日順」で表示されるWordPressのいろいろなリストを「更新日順」で表示する方法

公開日: 使い方など
Knowledge Base メンテナンス

長いことWordPressで運営しているサイトでは、投稿数も相当なものになっていますね。後から自身で見てみると、解釈が間違っていたり、時流に即してなかったり、中には「なんじゃこりゃ」と思わず笑ってしまうような文章や内容のものもあったりして・・・(笑)。

見てしまった?のだからきちんとしておこう!ということで投稿を推敲して更新すると、何もしなければ更新日というところがその日の日付になりますね。でもそれはWordPress内部に保存される情報であって、個別の投稿の表示時には表示されるテーマがあるものの、更新したものが一見して日の目を見るということはないので少し寂しい感じがします。

そこでいろいろと調べたところ、ブログ一覧やカテゴリー内投稿一覧などWordPressが生成する一覧リストの並び順を「公開日の新しい順」ではなく「更新日の新しい順」にする方法が掲載されていました。日頃過去記事の書き直しなどを繰り返している私からすると願ったり叶ったりの機能ですので即採用!!他の方にもぜひ取り入れてほしいなぁということで紹介しておきます。

なお、この記事で紹介するコード自体は

さんのと独自関数名以外はそのまま引用させていただいております(すてきな情報ありがとうございます)。

WordPress内の投稿一覧リストを「更新日順」にするコードと設置方法

ひょっとするとそういう機能を持つものがあるのかもしれませんが、今回の方法にプラグインは使用しません。

現在有効化しているテーマのfunctions.phpへコードを追記するだけです。

※functions.php?という方は、万が一トラブル等が発生した場合に対処が難しいと思いますのでおすすめしません

/* 一覧(ブログ一覧、カテゴリー一覧、アーカイブ一覧)を更新日順にする */
function ha_list_orderby_modified( $query ) {
if( $query->is_main_query() ) {
if( $query->is_home() || $query->is_category() || $query->is_archive() ) {
$query->set( 'orderby', 'modified' );
}
}
}
add_action( 'pre_get_posts', 'ha_list_orderby_modified' );
【注意】コードをコピーして使用する前に必ずお読みください

この記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。

使用については自己責任でお願いします

コードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。

万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いません

コードの変換エラーなどにより動作しない場合、更新エラーが出る場合があります

コードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがあります

その場合には以下の方法で修正を行ってみてください

  1. コードの中に全角の記号が入っていませんか?
  2. 半角にすることで解消できます
  3. コードの中に全角の空白(スペース)がありませんか?
  4. 半角にすることで解決できます
  5. コードは合っているはずなのに更新できないときは
  6. 特にエラーの出た行内に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があり、Wordpressのエディタチェックではこれを「'」や「)」など閉じ子のエラーとして認識され更新できないことがあります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。
  7. 「何かが間違っています...」と表示され、更新できないときは
  8. このエラーは本当に何がエラーなのかをWordpressのチェックが判断できない場合に発生します。解決策としてはその画面を開き直すことなのですが、その際希に元のコードがすべて削除されてしまう場合がありますので、今表示されているコードを一旦どこかへコピーしてからページの再読み込みをするようにしてやり直します。
    ※このエラーは不明なエラーなので予期せぬ動きをする可能性がありますので特に慎重な対処が必要です
これらのエラー対処については以下のページが参考になるかも知れません

コードを転載する場合には

ご自身のサイトで当ページで紹介しているコードを転載される場合には当ページへのリンクを入れていただきますようお願いいたします

たったこれだけのコードで?と思われるかもしれませんが、本当にこれだけです。

簡単に解説すると、

  • is_home() ・・・ブログ形式にしている場合のトップページ、または固定ページにしている場合のブログ一覧
  • is_category()・・・カテゴリーに属する投稿の一覧
  • is_archive() ・・・アーカイブページ

に対して、pre_get_posts(一覧に表示する投稿を含める前に)というアクションフックを使って、orderby(並び順)をmodified(更新日順)にしなさいというものです。

と偉そうに言ってますが、私もまだまたPHPプログラムやWordPressの独自関数を書けるレベルには全然ありません。でも、こうしてコードの意味や書き方などを見ながら利用させていただいていくうちにだんだんと内容がわかるようになってきました。WordPressのこうしたカスタマイズコードについてはたくさんの方が紹介してくれていますから、積極的に活用して理解度を深めましょう!!ついでにそれを使ってエラーとなったときには環境によるものだったり、コードそのものが間違ってたり・・・とこれまたいろいろ勉強になりますよ。

そうそう、先ほど独自関数名以外は・・と書きましたが、引用元のコードとこのページのコードのどこが違うのかも比較しておくといいかと思います(超初心者向けアドバイスです)。そうしておくことでプログラムが重複した時のエラーを回避することができます。

Knowledge Base Wordpress ha-Basic テーマ
  • 記事の作者: ひまあーと(管理人)

  • ☆最後までお読みいただきありがとうございました。記事作者のひまあーとです。
    ☆Wordpressでサイトをカスタマイズしていく上で有用な情報を配信しつつ、「ココナラ」でサイトカスタマイズのお手伝い、不具合の修復、サイト引っ越し代行などをさせていただいております。
    ☆Wordpressネタが多いですが、趣味の「園芸」「卓球」などの情報や日々の出来事などもどんどん増やしていきますのでよろしくお願いいたします。


QR Code

このページはモバイル端末でもご覧いただけます

左のQRコードを読み取っていただくと、このページのURLが表示され、簡単にアクセスできます。ぜひモバイル端末でもご覧ください。

いつでもご相談・サイトカスタマイズの依頼を受け付けています

Wordpressのカスタマイズ、不具合解消のご相談はすべてココナラのダイレクトメッセージからお受けしております。まずはこちらのバナーからお気軽にお問い合わせください。

※一度もココナラを使ったことがない方はココナラへの無料登録が必要です。こちらから登録後、上のリンクをクリックする、またはココナラトップページから「ひまあーと」を検索してお問い合わせください。


【スポンサーリンク】


閲覧いただきありがとうございました。役に立つ情報でしたら是非SNSでシェアをお願いします