WordPressのトップページ(フロントページ)のループで、投稿だけじゃなくて固定ページとかも表示させる

WordPressのトップページ(フロントページ)のループで、投稿だけじゃなくて固定ページとかも表示させたくなりました。

WordPressはテーマカスタマイザーでフロントページの種別が選べます。

ここで固定ページをトップページに表示させる、とかも選べるのですが、投稿のループを選んだ際に固定ページもそのループに含めたかったです。

以下のコードをfunctions.phpに追記したところうまく動きました。

/**
 * @param WP_Query $query
 */
function post_and_page( $query ) {
    if ( $query->is_home() && $query->is_main_query() ) {
        $query->set( 'post_type', array('post', 'page') );
    }
}
add_action( 'pre_get_posts', 'post_and_page' );

$query->setの引数をカエレバカスタム投稿タイプでも動くと思います。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする