2016-08-02 14 views
0

Ich habe erweiterte benutzerdefinierte Felder verwendet, um Kontaktinformationen für 6 Schulen - die alle auf der Kontaktseite angezeigt werden.ACF Repeater Anzeigen von Zeilenfeldern, wenn field_name = Seitenname

Jede Schule hat eine Kursseite und ich möchte diese Kontaktdaten auf der Kursseite für diese Schule anzeigen.

Ich brauche die Kontaktdaten der Schule A auf der Seite "Kurse in der Schule A". Der Kursseitenname "Schule A" ist identisch mit dem "get_sub_field" ('Schulname').

<?php if(have_rows('schools', 45)): ?> // 45 is post ID in WP 
    <?php while (have_rows('schools', 45)): the_row(); 

    // vars 
    $pagetitle = get_the_title(); // get page title in WP 
    $school = get_sub_field('school_name'); // get school name 

    if ($school == $pagetitle){ // IF they are the same THEN 
    ?> 

    <article class="school-contacts"> 
    <ul class="contact-info"> 
     <li><strong><?php echo $school; ?></strong></li> 
//other fields omitted for clarity 
     </ul> 
    </article> 
    <?php } ?> 
    <?php endwhile; endif; ?> 

Mein Problem ist, dass alle Schulen auftauchen, wenn ich dies tue.

Ich brauche einen Weg zu finden, so dass nur Schule A auf der Schule erscheint eine Seite, Schule B auf Schule B-Seite usw.

Ich habe in einigen Prüfungen hinzugefügt (aus diesem Code zur Klarheit entfernt), aber sie zeigen, dass Schule = Schule A Pagetitle = Schule A So funktioniert das Zusammenpassen richtig.

Ich bin gerade stecken, wie ich die ACF Ausgabe erhalten kann nur Schule A. zeigen

Antwort

0

es gelöst ... immer die einfachsten Dinge:

<?php if(have_rows('schools', 45)): 
     while (have_rows('schools', 45)): the_row(); 

    // vars 
    $pagetitle = get_the_title(); 
    $school = get_sub_field('school_name'); 
    $logo = get_sub_field('logo'); 
    $contact = get_sub_field('contact_name'); 
    $title = get_sub_field('contact_title'); 
    $email = get_sub_field('contact_email'); 
    $website = get_sub_field('contact_website'); 
    $phone = get_sub_field('contact_phone');  
    ?> 

    <?php if ($school == $pagetitle) : the_row(); ?> 
// needed : the_row(); to output the result 

    <article class="school-contacts"> 

    <div class="school-logo"><img src="<?php echo $logo; ?>" width="100%" /></div> 
    <ul class="contact-info"> 
     <li><strong><?php echo $school; ?></strong></li> 
     <li><?php echo $contact; ?></li> 
     <li><i><?php echo $title; ?></i></li> 
        <li><?php echo $phone; ?></li> 
     <li><a href="mailto:<?php echo $email; ?>"><?php echo $email; ?></a></li> 
     <li><a href="<?php echo $website; ?>"><?php echo $website; ?></a></li> 

    </ul> 
    </article> 
    <?php endif; endwhile; endif; ?>