2017-11-04 1 views
1

Hier ist die Seitenvorlage code Ich bin arbeiten, in Abschnitte definiert ...CPT und ACF Repeater arbeitet nicht zusammen

<?php 

//* Template Name: Partnerships Archive 

?> 


<!-- Header =========================================== --> 

<?php get_header(); ?> 




<!-- Homepage Header Video =========================================== --> 


<div class="subpage-video-sca"> 

    <!-- VIDEO --> 
    <div class="subpage-desktop-vid-sca"> 
    <video title="<?php the_field('seo_video_title'); ?>" autoplay loop muted playsinline> 
     <source src="<?php the_field('vimeo_link'); ?>" type="video/mp4"> 
    </video> 
    </div> 

    <!-- GRAD-OVERLAY --> 

    <div class="subpage-overlay-image-sca"> 
    </div> 

    <!-- OVERLAID TEXT --> 
    <div class="subpage-text-over-video-sca"> 
    <div> 
     <h1><?php the_field('sub_page_title'); ?></h1> 
     <p><?php the_field('paragraph'); ?></p> 
    </div> 
    </div> 

</div> 





<!-- Breadcrumbs =========================================== --> 

<?php echo do_shortcode("[breadcrumbs]"); ?> 










<!-- Main Content =========================================== --> 

<div class="wrap"> 
     <?php 
     $args = array( 
      'post_type' => 'partnerships', 
      'orderby' => 'title', 
      'order' => 'ASC' 
     ); 
     $the_query = new WP_Query($args); 

     ?> 

     <?php if (have_posts()) : while ($the_query->have_posts()) : $the_query->the_post(); ?> 

     <a class="one-third partnership-block" href="<?php the_permalink(); ?>"> 

      <img src="<?php the_field('logo'); ?>" alt="<?php the_title();?> graphic"> 

     </a> 

     <?php $products_count = $the_query->current_post + 1; ?> 
     <?php if ($products_count % 4 == 0): ?> 

     </div><div class="row"> 

     <?php endif; ?> 


     <?php endwhile; endif; ?> 
</div> 






<!-- Testimonials =========================================== --> 

<div class="wrap"> 
    <div class="page-section-headers pt-testimonials-container txt-right"> 
    <h1>WHAT <span class="red">OUR PARTNERS</span><br>HAVE TO SAY</h1> 
    </div> 




    <?php if(have_rows('testimonial')): ?> 

    <div class="testimonial-slider-container slick-slider"> 

    <?php while(have_rows('testimonial')): the_row(); 

     // vars 
     $text = get_sub_field('testimonial_text'); 
     $client = get_sub_field('client_name'); 
     $company = get_sub_field('client_company'); 

     ?> 

     <div class="testimonial-slider-single"> 

     <p><?php echo $text; ?></p> 
     <h2><?php echo $client; ?></h2> 
     <h3><?php echo $company; ?><h3> 

     </div> 

    <?php endwhile; ?> 

    </div> 

    <?php endif; ?> 


</div> 

Der Code im Hauptinhaltsbereich durch zieht benutzerdefinierte Post-Typen, die ich habe.

Der Code im Testimonials-Bereich zieht Daten für diese Seite speziell aus einem ACF-Repeater-Feld.

Sie beide arbeiten unabhängig, aber wenn ich sie beide auf der Seite zur gleichen Zeit habe, die Zeugnisse nicht durchziehen.

Das sagte, Ive gerade bemerkt, dass, wenn ich die Zeugnisse zuerst und den Hauptinhalt nachher, sie beide arbeiten !!

Kann jemand helfen? Gibt es etwas, das ich im Main-Content nicht richtig geschlossen habe oder so? Ich verstehe es nicht ...

Es ist Wordpress, mit Genesis Framework, neueste Versionen von beiden. Die Seite ist hier: http://staging.seedcreativeacademy.co.uk/partnerships/

Antwort

1

Add wp_reset_postdata(), nach einer Weile:

<div class="wrap"> 
     <?php 
     $args = array( 
      'post_type' => 'partnerships', 
      'orderby' => 'title', 
      'order' => 'ASC' 
     ); 
     $the_query = new WP_Query($args); 

     ?> 

     <?php if (have_posts()) : while ($the_query->have_posts()) : $the_query->the_post(); ?> 

     <a class="one-third partnership-block" href="<?php the_permalink(); ?>"> 

      <img src="<?php the_field('logo'); ?>" alt="<?php the_title();?> graphic"> 

     </a> 

     <?php $products_count = $the_query->current_post + 1; ?> 
     <?php if ($products_count % 4 == 0): ?> 

     </div><div class="row"> 

     <?php endif; ?> 


     <?php endwhile; wp_reset_postdata(); endif; ?> 
</div> 
+0

Vielen Dank - funktioniert perfekt! Ich denke, wenn mehrere Elemente enthalten sind, muss ich die Postdaten zurücksetzen! –

Verwandte Themen