本

カテゴリー内の記事並びを更新日順にする方法 functions.phpの記述

本

WordPressはデフォルトだと『公開日順』に記事が並びますが、用途によっては更新日順に並べた方がアピールしやすい場合もあります。

Post Types Orderのようなプラグインを使って、ドラッグ&ドロップしても構いませんが、記事数が多いと、管理画面でドラッグするのも大変ですし、記事を更新する度にいちいち記事を並び替えるのも面倒です。

そこでおすすめしたいのが、functions.phpを用いた自動ソート。

プラグイン不要で、記事を並び替えることができます。

参照記事↓
https://wordpress.stackexchange.com/questions/97657/how-to-modify-category-php-to-list-posts-alphabetically

たとえば、通常の投稿、およびカスタム投稿 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? の項目が現れるので、必要に応じてチェックを入れるだけです。

Stealth Update

更新日は新しいほどいいものですが、orderby = modified を使って、テーマ・テンプレートやRSSのカスタマイズをしている場合、誤字を修正するような小さな変更で更新日が変わってしまうと、かえって都合が悪いこともあります。

プラグイン自体は2年前から更新が止まっており、大丈夫か? という感じですが、最新版WordPressでも問題なく動きます。

必要な方は、試してみる価値がありますよ。

タグ: , , ,

関連する記事

特定のリファラからのアクセスを別URLに転送する / 403、404を使った転送テク

関連性の高い投稿をグループ化してリスト表示 ~Display Posts Shortcodeとカスタムフィールドを使用

THE THORで管理画面から投稿の検索ができなくなった場合の対処法

モバイルでアイキャッチ画像や記事サムネイルを非表示にする方法

Display Posts Shortcode でTwitter風の短文投稿を1ページにまとめて表示

>海洋小説『曙光』MORGENROOD

海洋小説『曙光』MORGENROOD

宇宙文明の根幹を支える稀少金属ニムロディウムをめぐる企業と海洋社会の攻防を舞台に描く人間ドラマ。生きる道を見失った潜水艇パイロットと愛を求めるフォルトゥナの娘の恋を通して仕事・人生・社会について問いかける異色の海洋小説です。
Kindle Unlimitedなら読み放題。
Amazonの海洋学ランキングで一位を記録。

CTR IMG

Fatal error: Uncaught Error: Call to undefined function WP_Optimize() in /home/marier/novella.works/public_html/wp-content/plugins/wp-optimize/cache/file-based-page-cache-functions.php:136 Stack trace: #0 [internal function]: wpo_cache('\r\n<!DOCTYPE htm...', 9) #1 /home/marier/novella.works/public_html/wp-includes/functions.php(4344): ob_end_flush() #2 /home/marier/novella.works/public_html/wp-includes/class-wp-hook.php(286): wp_ob_end_flush_all('') #3 /home/marier/novella.works/public_html/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters('', Array) #4 /home/marier/novella.works/public_html/wp-includes/plugin.php(465): WP_Hook->do_action(Array) #5 /home/marier/novella.works/public_html/wp-includes/load.php(954): do_action('shutdown') #6 [internal function]: shutdown_action_hook() #7 {main} thrown in /home/marier/novella.works/public_html/wp-content/plugins/wp-optimize/cache/file-based-page-cache-functions.php on line 136