WordPress メインページ(ホームページ)で書かれソートを変更する

Last Updated:2023年07月17日| コメントを残す

WordPress メインページ(ホームページ)で書かれ、並べ替え順序を変更したい場合があります。 たとえば、通常のフロントページには、文が最新記事から古いグルスンに表示されます。 これ場合は、古い記事は、訪問者が読む機会が減少することがあります。 このような場合に、並べ替え順序をランダム(任意)に変更することを考慮してみることができます。 または、記事タイトルを基準に並べ替えすることも考えてみることができます。

このような状況で使用できるフックが pre_get_posts입니다。 pre_get_posts詳細については、 ここで確認できます。 メインページの書き込み順序をランダムに表示するには、次のコードを使用している関数ファイル(のfunctions.php)に追加します。

add_action( 'pre_get_posts', 'random_posts' );

function random_posts( $query ) {
if ( $query->is_home() && !$query->is_paged() && $query->is_main_query() ) {
$query->set( 'orderby', 'rand' );
}
}
// Reference

上記のコードを適用すると、ホームページの最初のページにのみ文章がランダムに表示されます。 上記のコードを関数ファイル(のfunctions.php)に追加する方法は、 ここを参考にしてください。 参考としてフロントページにも適用するには理論上 $ query-> is_home() 部分を ($query->is_home() || $query->is_front_page())のように変えてくれればと思われる。

ループ内では、Queryを使用する場合、 WordPress Codexのドキュメントを参照してください。 参考までに 注文ORDERBYの違いは、 ここで確認することができます。 注文ORDERBY パラメータを昇順または降順にソートするかどうかを指定します。 デフォルトは「DESC」です。 ORDERBYは、プルする投稿をどのパラメータで並べ替えるかを指定します。デフォルトは「date(post_date)」です。 例:

$args = array(
'orderby' => 'title', // 글 제목 기준으로 정렬
'order'   => 'DESC', // 내림차순
);
$query = new WP_Query( $args );

WordPress メインページ(フロントページ)から特定のカテゴリ文を除外する方法 ここに記載されています。 これらの内容と pre_get_posts Codexページのコンテンツを適用すると、多くの場合、テーマソースを変更せずに投稿の表示方法を変更できます。


コメントを残す

コメント