2017-06-13 3 views
0

Ich habe ein Problem mit der Anzeige aller Posts in meiner Archivseite mit der have_posts-Schleife. Wenn ich versuche, den Titel und den Inhalt zurückzugeben, werden der Titel und der Inhalt der Vorlageseite anstelle des Inhalts der Beiträge zurückgegeben.Versuche, alle Posts in meiner Archivseite anzuzeigen, aber es gibt nur den Seiteninhalt zurück

Was ich getan habe, um es zu reparieren, ist, dass ich eine WP_Query-Post-Schleife ausgeführt habe, die alle Posts von post type = post erfasst und den Inhalt gut anzeigt. Das einzige Problem ist, dass ich eine dynamische Archivseite haben möchte, wenn Benutzer ein Tag auswählen - es wird sie zu einer Archivseite mit allen Posts bringen, die dieses Tag enthalten. Da ich ein bestimmtes WP_Query-Objekt verwende, werden auf allen meinen Archivseiten alle Posts mit dem post-type = post angezeigt.

Meine Vermutung ist, dass ich eine einfache have_posts-Schleife ausführen muss, anstatt WP_Query auszuführen, damit meine Archivseite dynamisch ist.

Wie ich meine Archivseite einrichte: Ich habe eine Datei namens archive.php, die ich den Vorlagennamen von Archives gegeben habe und eine Seite dafür auf wp-admin erstellt habe und es Blog betitelt habe.

<?php 
/** 
* The template for displaying archive pages 
* Template Name: Archives 
* @link https://codex.wordpress.org/Template_Hierarchy 
* 
* @package WordPress 
* @subpackage Twenty_Seventeen 
* @since 1.0 
* @version 1.0 
*/ 

get_header(); ?> 

    <div class="d-flex flex-wrap archive-wrap"> 

    <div class="content-area"> 
    <main id="main" class="site-main d-flex justify-content-center flex-wrap" role="main"> 

    <?php // Show the selected frontpage content. 
    if (have_posts()) : 
     while (have_posts()) : the_post(); ?> 

     <div class="archive-header col-10 d-flex justify-content-center align-items-center flex-column"> 
      <?php 
       the_title('<h1 class="archive-title">', '</h1>'); 
       the_content('<h1 class="archive-title">', '</h1>'); 
      ?> 

     </div><!-- .page-header --> 

    <?php 

     get_template_part('template-parts/post/content', 'archive'); 

     endwhile; 

     the_posts_pagination(array(
      'prev_text' => twentyseventeen_get_svg(array('icon' => 'arrow-left')) . '<span class="screen-reader-text">' . __('Previous page', 'twentyseventeen') . '</span>', 
      'next_text' => '<span class="screen-reader-text">' . __('Next page', 'twentyseventeen') . '</span>' . twentyseventeen_get_svg(array('icon' => 'arrow-right')), 
      'before_page_number' => '<span class="meta-nav screen-reader-text">' . __('Page', 'twentyseventeen') . ' </span>', 
     )); 

    endif; ?> 

    <div class="col-10 col-md-3 offset-lg-1 sidebar-4-container"> 
     <?php dynamic_sidebar('sidebar-4'); ?> 
    </div> 


    </main><!-- #main --> 
</div><!-- #primary --> 

</div><!-- .wrap --> 

<?php get_footer(); 

In meinem Vorlageninhalt Archivdatei habe ich folgendes:

<?php 
// the query 
$wpb_all_query = new WP_Query(array('post_type'=>'post', 
'post_status'=>'publish', 'posts_per_page'=>-1)); ?> 

<?php if ($wpb_all_query->have_posts()) : ?> 


    <!-- the loop --> 
    <?php while ($wpb_all_query->have_posts()) : $wpb_all_query->the_post(); ?> 
    <div id="post-<?php the_ID(); ?>" class="col-12 article-container"> 
     <div class="article-image-div" style="background-image: url('<?php echo get_the_post_thumbnail_url($post_id, 'large'); ?> ');"></div> 
     <h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>  
     <h5>by <?php echo get_the_author(); ?></h5> 
     <?php echo apply_filters('the_content', wp_trim_words(strip_tags($post->post_content), 55)); ?> 

     <hr align="left"> 
    </div> 


    <?php endwhile; ?> 
    <!-- end of the loop --> 


    <?php wp_reset_postdata(); ?> 

<?php else : ?> 
    <p><?php _e('Sorry, no posts matched your criteria.'); ?></p> 
<?php endif; ?> 

Antwort

Verwandte Themen