Lightningでアーカイブページの内容を特定の固定ページに変更する
投稿タイプアーカイブページに表示する改変したい場合以下の方法で改変できます。
アーカイブページの設定(Pro版利用の場合のみ)
Pro版を利用の場合は 外観 > カスタマイズ > Lightning アーカイブ設定 > 表示タイプとカラム で表示タイプを「Lightning 標準」に指定
1
改変用のコードを記載
子テーマのfunctions.phpなどに以下を参考に必要に応じて書き換えて貼り付けてください。
// 標準のループを非表示にする
add_filter( 'is_lightning_extend_loop', function( $return ){
// 改変するアーカイブページを指定
if ( is_post_type_archive( 'event' ) ){
// ループエリアの改変を有効にする
$return = true;
}
return $return;
} );
// 非表示にしたループエリアに指定の内容を表示
add_action( 'lightning_extend_loop', function(){
// 改変する投稿タイプ(ここでは event を指定)
if ( is_post_type_archive( 'event' ) ){
$args = array(
'post_type' => 'page', // 固定ページ
'name' => 'event-top', // 表示させたい固定ページのスラッグを指定
'post_status' => array( 'publish', 'private' ), // 非公開でも取得するように private を追加
);
// 特定のスラッグの投稿を取得
$posts_array = get_posts( $args );
if ( $posts_array && is_array( $posts_array ) ) {
// スラッグを指定して投稿を取得しているので0番目の投稿の本文の内容を取得
$content = $posts_array[0]->post_content;
// 本文を表示
echo apply_filters( 'the_content', $content );
}
}
} );
2
かわりに挿入するページを作成
アーカイブページに表示したい内容を固定ページで作成し、スラッグを event-top に指定。
公開は非公開でも表示されます。
3