• Hallo Zusammen,

    ich möchte einen Shop mit WooCommerce einrichten, leider werden mir bei der archive-product.php keine Artikel angezeigt. Er lädt zwar die php.Datei zeigt aber nichts an. Das gleiche Problem habe ich mit der archive.php wenn ich eine Kategorie Seite ansehe, fehlen auch die Beiträge. Wenn ich das Template wechsle geht es. Viele Grüße und Danke Christine. Anbei der Code.

    <?php get_header();?>
    
      </figure>
    
            
      <div class="container site-main">  
    	  
    	<div class="container-beitraege seitenbreite flex"> 
    
    		<?php if ( have_posts() ) : ?>
    
    			<header class="page-header">
    				<?php
    					the_archive_title( '<h1 class="page-title">', '</h1>' );
    					the_archive_description( '<div class="taxonomy-description">', '</div>' );
    				?>
    			</header><!-- .page-header -->
    
    			<?php
    			get_template_part('template_parts/content', 'beitraegedreispalten');
    
    		else :
    
    			get_template_part('template_parts/content','error');
    
    		endif;
    		?>
    
    	</div> 
            
         
      </div>         
     
    
    <?php get_footer();?>
    
    
        
    <section class="news drei-spalten fadeIn"
            data-when="enter"
             data-from="0.5" data-to="0" data-crop="false" data-opacity="0" data-scale="1.5" style="opacity: 1; transform: translate3d(0px, 0px, 0px) rotateX(0deg) rotateY(0deg) rotateZ(0deg) scale3d(1, 1, 1);"
            
            
           
            
    		<?php post_class();?>
          >
    
     <?php the_post_thumbnail('medium'); ?>
       
       <div class="news-content">
        
    
    <?php if(is_page(122) || is_front_page() || is_archive()) { ?>
        <h2><?php the_title();?></h2>
    <?php } else { ?>
        <h1>><?php the_title();?></h1>
    <?php } ?> 
    
                <?php the_content('Weiterlesen »');?>   
    	</div>
               
        
    </section> 

    Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]

Ansicht von 3 Antworten – 1 bis 3 (von insgesamt 3)
  • Moderator Bego Mario Garde

    (@pixolin)

    Moderator (nicht mehr aktiv)

    <?php get_header();?>
      </figure>

    Da stimmt etwas nicht. get_header() ist ein Hook, über den z.B. JavaScript eingebunden wird. Das möchtest du nicht in einem Tag <figure> verschachtelt haben.

    … leider werden mir bei der archive-product.php keine Artikel angezeigt.

    Das stimmt nicht, oder? Bei https://example.com/produkt-kategorie/wollhandschuhe (ich hab die Domain ersetzt) wird ein Produkt angezeigt. Bei „Wolle“ scheint es einen Konflikt mit der gleichnamigen Seite zu geben. Hast du im Backend mal Einstellungen > Permalinks aufgerufen, um die Permalinks neu einlesen zu lassen?

    Das gleiche Problem habe ich mit der archive.php wenn ich eine Kategorie Seite ansehe, fehlen auch die Beiträge.

    Gibt es überhaupt Beiträge? Wo?

    Denk bitte daran, dass wir nicht an deinem Schreibtisch sitzen und dir über die Schulter schauen. „Der Beitrag … ist der Kategorie … zugeordnet. Rufe ich die Kategorie auf, wird der Beitrag nicht angezeigt.“ ist besser nachvollziehbar.

    Wenn ich das Template wechsle geht es.

    Wie machst du das? Welches Template rufst du wie auf?
    Eigentlich lädt WordPress selber Templates entsprechend der Template-Hierarchie.

    <h1>><?php the_title();?></h1>

    Willst du wirklich vor der Überschrift ein > ausgeben?

    <section class="news drei-spalten fadeIn"
        …
        <?php post_class();?>
    >

    Da stimmt auch irgendwas nicht. Meinst du …

    <section class="news drei-spalten fadeIn <?php post_class();?>" …

    ?

    Thread-Starter morgana17

    (@morgana17)

    Guten Morgen,

    Dankeschön für die Antwort. Soweit habe ich es geändert.

    
    <section class="news drei-spalten fadeIn <?php post_class();?>" …

    Hier habe ich eine Animation eingebaut, ich denke das stimmt so. Funktioniert auch.

    Es geht um die Kategorie startseite. Das wird jetzt angezeigt, habe das Template geändert.

    
    <?php get_header();?>
    
      <div class="container">  
    
    <main class="site-main">
        
        <article class="site-content">
        
             
         
         <h1><?php single_cat_title();?></h1>
         
         <?php echo category_description();?>
            
            <div class="container-beitraege flex">   
             
            <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
               <?php get_template_part('template_parts/content', 'beitraegedreispalten');?>
            <?php endwhile; else : ?>
                <?php get_template_part('template_parts/content','error');?>
            <?php endif; ?>
            
             </div>
            
            
             <nav class="pagination">
            <?php previous_posts_link();?>
            <?php next_posts_link();?>
            </nav>
            
        </article>
        
    </main>
    
    <?php get_footer();?>	

    Mit Template wechseln meinte ich Theme wechseln.

    Ich habe mit dem Kadence Plugin ein Template für die Produktseite erstellt, dies ist im Moment nur bei Wolle hinterlegt. Bei den anderen Kategorien ist es nicht hinterlegt. Deswegen gehen die. Ich werde mal die vom Plugin anschreiben. Da die Archiv.php jetzt geht muss der Fehler woanders liegen. Oder?

    Viele Grüße und Danke
    Christine

    Moderator Bego Mario Garde

    (@pixolin)

    Moderator (nicht mehr aktiv)

    Das ergibt für mich immer noch keinen Sinn. Zur Ausgabe einer Kategorie brauchst du kein Template erstellen oder zuweisen. Es wird automatisch die archive.php deines Themes verwendet und sollte das Theme kurioserweise keine archive.php enthalten, fällt WordPress auf die index.php zurück.

    Leider bist du auch auf meinen anderen Punkte nicht eingegangen. Ich mag jetzt aber auch nicht nochmal nachfragen. Vielleicht versteht jemand anders besser, worum es dir geht. Viel Erfolg.

Ansicht von 3 Antworten – 1 bis 3 (von insgesamt 3)

Das Thema „archive.php und archive-product.php“ ist für neue Antworten geschlossen.