2016/04/18
カスタム投稿 Wordpress
以前、「【WordPress】taxonomy.phpで一覧をランダム表示」という記事を書きましたが、
記事の中で使用しているquery_postsについて、非推奨になっているようです。
そこで、別の方法でランダム表示をすることにしました。
参考サイト
[WordPress]pre_get_postsを使いこなす!pre_get_posts使い方まとめ
functions.php
//タクソノミー一覧の表示数指定 function change_posts_per_page($query) { /* 管理画面,メインクエリに干渉しないために必須 */ if( is_admin() || ! $query->is_main_query() ){ return; } /* カテゴリーページの表示件数を50件にする */ if ( $query->is_tax() ) { $query->set( 'posts_per_page', '50' ); return; } } add_action( 'pre_get_posts', 'change_posts_per_page' ); //タクソノミー一覧の並び順をランダムに function change_posts_query( $query ) { if( is_tax() ) { $query->set('orderby', 'rand'); // orderby のように スペース区切りで複数指定してみる $query->set('order', 'ASC DESC'); } } add_action('pre_get_posts', 'change_posts_query');
ここで重要なのが、posts_per_pageを使用する場合、
管理画面も影響するため、
function change_posts_per_page($query) { /* 管理画面,メインクエリに干渉しないために必須 */ if( is_admin() || ! $query->is_main_query() ){ return; }
を必ず記述します。
taxsonomy.phpに記述していた
<?php query_posts($query_string . "&orderby=rand"); ?>
は削除します。
query_postsを使わず、posts_per_pageを使う場合には、
functions.phpに記述をするため、若干敷居が高いですが、
まずは簡単なところから始めてみました。
ゼヒトモ内でのプロフィール: ROCKSTREAM, ゼヒトモのホームページ作成・制作サービス, 仕事をお願いしたい依頼者と様々な「プロ」をつなぐサービス
2024/08/20
神社
御朱印
2024/07/06
神社
御朱印
2024/07/06
神社
御朱印
2024/02/09
神社
2024/02/09
神社