Рендеринг с бесконечной прокруткой Jetpack - отличается в зависимости от типа поста?


В настоящее время я работаю над темой, которая имеет два типа сообщений: один - обычный тип сообщений "сообщения", а другой - для сообщений портфолио - "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, если просматривается блог.

Любая помощь будет очень признательна, спасибо!

Author: That Brazilian Guy, 2013-12-01

1 answers

Замените приведенную выше функцию 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;
}
 4
Author: Sarah, 2017-08-26 05:23:18