WordPressのトップページには、デフォルトだと最新の投稿が一覧表示されます。
管理画面の[設定] – [表示設定]から「フロントページの表示」を固定ページに変更したり、テーマファイルを直接編集すれば、新着記事以外を表示させることもできますが、ブログの場合最新の投稿をトップページに表示している方は多いと思います。
この”最新の投稿”というのは、あくまで”投稿”の新着一覧が表示されるのであって、カスタム投稿タイプの記事は含まれません。カスタム投稿タイプも使って記事を書いている場合、トップページの新着記事一覧にカスタム投稿タイプの記事も含めたいこともあると思います。
そこで今回は、トップページの新着記事一覧にカスタム投稿タイプの記事も含める方法について紹介したいと思います。
トップページの新着一覧にカスタム投稿タイプの記事を追加する
functions.phpに以下のコードを追加するだけで、トップページにカスタム投稿タイプの新着記事を表示させることができます。
以下のコードでは、newsというカスタム投稿の記事を新着一覧に追加しています。
function custom_post_add_top( $query ) { if ( is_admin() || ! $query->is_main_query() ) return; if ( $query->is_home() ) { $query->set( 'post_type', array( 'post', 'news' ) ); return; } } add_action( 'pre_get_posts', 'custom_post_add_top' );
「$query->set( ‘post_type’, array( ‘post’, ‘news’ ) );」のnewsをカスタム投稿名に変更してください。
複数のカスタム投稿を追加したい場合は、カンマ(,)で区切って「$query->set( ‘post_type’, array( ‘post’, ‘news’,’custom’ ) );」のように配列を追加します。
あとがき
functions.phpに追加するだけで完了するので楽ですね。
投稿とカスタム投稿を分けずにトップページに出力したい時は、ぜひ参考にしてください。