【问题标题】:ACF Repeater Display row fields if field_name = page_name如果 field_name = page_name,ACF 中继器显示行字段
【发布时间】:2016-12-07 15:55:26
【问题描述】:

我使用高级自定义字段填写了 6 所学校的详细联系信息 - 全部显示在“联系信息”页面上。

每所学校都有一个课程页面,我想在该学校的课程页面上显示这些联系方式。

我需要 A 学校的详细联系信息显示在“A 学校的课程”页面上。 课程页面名称“学校 A”与 get_sub_field('school_name') 相同。

    <?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; ?>

我的问题是,当我这样做时,所有学校都会出现。

我需要找到一种方法,以便只有学校 A 出现在学校 A 页面上,学校 B 出现在学校 B 页面上等等。

我添加了一些检查(为了清楚起见,从这段代码中删除了),但它们表明 学校 = 学校 A 页面标题 = 学校 A 所以匹配工作正常。

我只是不知道如何让 ACF 输出只显示学校 A。

【问题讨论】:

    标签: php wordpress advanced-custom-fields


    【解决方案1】:

    解决了...总是最简单的事情:

        <?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; ?>
    

    【讨论】:

      猜你喜欢
      • 2017-01-01
      • 2019-10-16
      • 2018-04-11
      • 1970-01-01
      • 2018-02-10
      • 2016-07-02
      • 2020-10-29
      • 2020-05-15
      • 2015-03-30
      相关资源
      最近更新 更多