「All-in-One Event Calendar」のイベントをメインページに表示する
WordPress用テーマDigipressのMAGJAMを使用しています。
まず、「All-in-One Event Calendar」を設定運用されている方向けです。またwordpressのfunction.phpや子テーマがわからない方は弄らない方がいいです。
しかしこの方法はテーマに関係なく表示が可能になります。
なぜこんなことをするか
カスタム投稿タイプは基本メインページに表示されません。
正確にはどちらかしか表示できません。子テーマなどカスタマイズされている方ならわかりますね。
ということで、All-in-One Event Calendarで投稿したものと、メインコンテンツ用に2つ投稿していました。
かなりめんどくさい。しかもSEO対策でかなりの減点でしょう。「重複しているコンテンツがあります」って怒られます。
なぜ2つ投稿するかっていうとRSS対策です。ブログ村やブルグランキングに表示させたいからですね。
しかし、RSSにカスタム投稿タイプを出力させることがプラグイン無しでできまるようにカスタマイズしましたので、ここで改良することにしました。
以下のコードをfunction.phpに追記するだけ。
/****************************************************************
* メインページにイベント
****************************************************************/
function my_search_filter($query) {
if (is_home() && $query->is_main_query() ) {
$query->set( 'post_type', array( 'post', 'ai1ec_event' ) );
}
}
add_action( 'pre_get_posts', 'my_search_filter' );
}
当サイトはさらに改良し、固定ページもメインコンテンツ(トップページ)に表示させています。