ワードプレスで、トップページ(投稿記事にしている場合)や、アーカイブなどの記事一覧は、最新記事から新しい順に表示されますが、これを更新日順に表示させる方法についてです。
当サイトもテーマの新バージョンリリースの度に、仕様変更や新機能追加などで過去の記事を最新情報にリライトする事が多いので、簡単に更新日順にする方法を探してみたら、我らがルクセリタスの開発者るなさんのブログに紹介されていました。
コードは上記サイトよりコピーして利用させて頂きました!
以下、その方法詳細です。
方法
function.phpファイル編集について
ご利用のテーマのfunction.phpを編集しますので、テーマによって編集画面は異なります。
function.phpの編集については、危険もあるファイルなので、それを直接触らずに追記したいコードごと任意の単位で管理出来、その単位ごとに ON・OFF の切替も自在にでき、万一の場合はセーフモード機能もある便利なプラグインもありますので、以下を参考にして下さい。
※当サイトでは上記プラグインを利用しています。
プラグインを使わない場合は、子テーマに!
子テーマがない場合は用意した方がいいです。どうしても子テーマなしで行う場合は、親テーマのfunction.phpを編集(非推奨)。
子テーマってなに??って方は以下を参考にして下さい。
方法3種
上記で説明した通り、以下のいずれかを編集します。
- 子テーマのfunction.phpに追記(推奨)
- 親テーマのfunction.phpに追記(非推奨)
- プラグイン「Code Snippets」を使う(当サイトでの対応)
ルクセリタスの場合
テーマ機能で「function.php」を編集する画面がない場合
プラグインで制御する場合
わかりやすいタイトルをつけて、コードを貼付け保存します。
コード一覧から簡単に ON・OFF出来ます。
詳細は以下を参考にして下さい。
追加するコード
以下を追記します。
function my_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', 'my_orderby_modified' );
以上です。
コメント