WordPressはデフォルトだと『公開日順』に記事が並びますが、用途によっては更新日順に並べた方がアピールしやすい場合もあります。
Post Types Orderのようなプラグインを使って、ドラッグ&ドロップしても構いませんが、記事数が多いと、管理画面でドラッグするのも大変ですし、記事を更新する度にいちいち記事を並び替えるのも面倒です。
そこでおすすめしたいのが、functions.phpを用いた自動ソート。
プラグイン不要で、記事を並び替えることができます。
たとえば、通常の投稿、およびカスタム投稿 news と movie のカテゴリー、およびタクソノミで、更新日順に記事を表示したい場合。
function fwp_home_custom_query( $query ) {
if ( $query->is_category() || is_tax() && $query->is_main_query() ) {
$query->set( 'post_type', array( 'post', 'news','movie' ) );
$query->set( 'orderby', 'modified' );
$query->set( 'order', 'DESC' );
}
}
add_filter( 'pre_get_posts', 'fwp_home_custom_query' );
条件分岐 || (もしくは) && (および)を使っていろんな組み合わせができます。
is _category だけに限定してもいいし、
カテゴリー movie で、 タクソノミ action と sf を持つもののみ、更新日順で、と言う風にアレンジもできます。
is_category(‘movie’) && is_tax(‘action’,’sf’)
is_home を追記すれば、トップページでも更新に置閏に並び替えることが可能です。
orderby に関しては、タイトル、投稿ID、ランダムなど、いろんな条件が選択できますし、並び順は DESC もしくは ASC で昇順、降順を変更することができます。
こちらを参考に、いろいろ組み合わせてみて下さい。
https://wpdocs.osdn.jp/関数リファレンス/WP_Query
archive.php や category.php に、直接、WP_Query を記述する方法もありますが、こちらの方が一括指定できて便利だと思います。
頻繁に追記やリライトする方に重宝するのではないでしょうか。
ステルス・アップデートを利用する
更新日順に投稿をプロモートする場合、ちょっとタイトルを変えたり、アイキャッチ画像を入れ替えただけでも『更新』とみなされ、記事リストのトップに配置されてしまうことがあります。
このようなケースに便利なのが、『Stealth Update』。
その名の通り、更新日にいっさいの変更を加えず、投稿の内容だけを更新してくれる便利なプラグインです。
https://ja.wordpress.org/plugins/stealth-update/
プラグインを有効化すると、『公開』に Stealth update? の項目が現れるので、必要に応じてチェックを入れるだけです。
更新日は新しいほどいいものですが、orderby = modified を使って、テーマ・テンプレートやRSSのカスタマイズをしている場合、誤字を修正するような小さな変更で更新日が変わってしまうと、かえって都合が悪いこともあります。
プラグイン自体は2年前から更新が止まっており、大丈夫か? という感じですが、最新版WordPressでも問題なく動きます。
必要な方は、試してみる価値がありますよ。
投稿の並び順に関する記事
None found