私は現在2つの投稿タイプを持つテーマに取り組んでいます - 1つは通常の "投稿"投稿タイプで、もう1つはポートフォリオ投稿用です - "mytheme_portfolio"。
次のように、JetPackの無限スクロールを使って新しい投稿をレンダリングしています。
function mytheme_render_infinite_scroll() {
while ( have_posts() ) : the_post();
get_template_part( 'content', 'archive-portfolio' );
endwhile;
}
function mytheme_jetpack_setup() {
add_theme_support( 'infinite-scroll', array(
'container' => 'content',
'type' => 'click',
'render' => 'mytheme_render_infinite_scroll',
) );
}
add_action( 'after_setup_theme', 'mytheme_jetpack_setup' );
これはうまく機能していますが、現在表示している投稿タイプのアーカイブ/カテゴリ/タグページに応じて、どのように異なるcontent-
テンプレートファイルをレンダリングするかを指定することができますか。今は無限スクロールが発生したときにcontent-archive-portfolio.php
を呼び出しています。ポートフォリオの投稿が表示されている場合はcontent-archive-portfolio.php
を、ブログが表示されている場合はcontent.php
を呼び出します。
どうぞよろしくお願いいたします。
上記のmytheme_render_infinite_scroll
関数をこれで置き換えます。
function mytheme_render_infinite_scroll() {
while ( have_posts() ) : the_post();
if ('mytheme_portfolio' == get_post_type()) :
get_template_part( 'content', 'archive-portfolio' );
else :
get_template_part( 'content', get_post_format() );
endif;
endwhile;
}