post_class in template_part (Costum Post, ajax)

  • Hallo Lesende,

    ich habe eine Frage zu der Function post_class. Leider konnte ich keine passende Antwort über die Suche finden.

    In meiner index.php habe ich einen normalen Loop der mittels get_template_part das Artikel-Template läd. Funktioniert ohne Probleme. Ich bekomme meine Posts mit folgenden class-Attributen:

    [post-169 product type-product status-publish has-post-thumbnail hentry]

    Soweit so gut.
    Nun habe ich mir eine Funktion geschrieben die mittels Ajax weitere Posts nachläd. Auch dies funktioniert soweit. Post werden geladen und ausgegeben. Aber hier werden die Posts nur mit folgenden class-Attributen ausgegeben:

    [post-53 type-product status-publish has-post-thumbnail hentry]

    Wie man sieht, fehlt die class "product" (Costum Post). Ich kann mir nicht erklären warum. In beiden fällen wird das gleiche Template verwendet.

    Der einzige unterschied der mir jetzt einfällt ist der Loop an sich. Die Loops sind wie folgt aufgebaut:

    index.php

    PHP
    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
         <?php get_template_part( 'content', 'product' ); ?>
    <?php endwhile; ?>

    infinit_scroll.php

    PHP
    $query = new WP_Query( $args );    
    while ( $query->have_posts() ) {
         $query->the_post();
         get_template_part( 'content', $post_type );
    }    
    wp_reset_postdata();

    Hat jemand von euch eine Idee warum die class nicht ausgegeben wird?

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Soory für das doppel Post, aber Edit kann ich nicht finden.

    Ich habe jetzt in meinem Content-Template die post_class-Funktion von

    PHP
    <?php post_class(); ?>


    in

    PHP
    <?php post_class( 'product', get_the_ID()); ?>


    geändert.

    Somit habe ich sichergestellt, dass die Klasse bei diesem Content-Typ immer mit ausgegeben wird. Das funktioniert auch soweit gut.

    Wenn jemand zu dem oben genannten Problem dennoch einen Hinweis hat würde ich mich freuen. Denn verstehen möchte ich es gerne dennoch. :D

    PS: Im obrigen Post soll das jeweils "Custom Post" und nicht "Costum Post" heißen. Sorry, konnte auch dies nicht mehr korrigieren. (Don't trust fast fingers.)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!