web-dev-qa-db-ger.com

Jetpack Infinite Scroll Render - je nach Beitragstyp unterschiedlich machen?

Ich arbeite derzeit an einem Thema mit zwei Beitragstypen - der eine ist der normale Beitragstyp "Beiträge" und der andere ist für Portfolio-Beiträge - "mytheme_portfolio".

Ich verwende die unendliche Schriftrolle von JetPack zum Rendern neuer Posts wie folgt:

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' );

Dies funktioniert gut, aber ich frage mich, wie ich verschiedene content--Vorlagendateien angeben kann, die gerendert werden sollen, je nachdem, welche Archiv-/Kategorie-/Tag-Seite des Beitragstyps Sie gerade anzeigen. Wie es jetzt passiert, rufe ich content-archive-portfolio.php an, wenn der unendliche Bildlauf ausgelöst wird. Ich möchte content-archive-portfolio.php anrufen, wenn Portfolio-Beiträge angezeigt werden, aber content.php, wenn das Blog angezeigt wird.

Jede Hilfe wäre sehr dankbar, danke!

2
Sarah

Ersetzen Sie die obige mytheme_render_infinite_scroll Funktion durch diese:

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
Sarah