【问题标题】:How can delete duplicare result of acf fields to loop wordpress如何删除acf字段的重复结果以循环wordpress
【发布时间】:2020-06-22 09:28:30
【问题描述】:

我有一种自定义帖子类型,并且我使用 acf 创建了一个选择字段。我需要删除到循环中,选项的结果相同。

<?php
    $args = array(
        'post_type'     => 'agentiestero',
        'post_status' => 'publish',
        'posts_per_page' => 150,
        'orderby'=> 'title', 
        'order' => 'ASC'
    );
    $the_query = new WP_Query( $args );                                                         
?>
<?php if( $the_query->have_posts() ): ?>
    <?php while( $the_query->have_posts() ) : $the_query->the_post(); ?>                                                            

        <option value="<?php the_field('localita_estero'); ?>"><?php the_field('localita_estero'); ?></option>

    <?php endwhile; ?>
<?php endif; ?>

【问题讨论】:

    标签: javascript php wordpress advanced-custom-fields


    【解决方案1】:

    使用数组清理结果:

        <?php
            $result = array();
             if( $the_query->have_posts() ): ?>
            <?php while( $the_query->have_posts() ) : $the_query->the_post(); 
                $field = get_field('localita_estero');
                if(in_array($field,$result))
                    continue;
                $result[] = $field;
    ?>                                                            
                <option value="<?php echo $field; ?>"><?php echo $field; ?></option>
    
            <?php endwhile; ?>
        <?php endif; ?>
    

    【讨论】:

    • @SEOExpert 您的欢迎,如果这解决了您的问题,请点击“复选标记”接受此答案
    【解决方案2】:

    在这里迭代帖子不是最好的选择。您最可能想要的是迭代 ACF 选择字段的选择。为此,您必须找出字段的字段键(例如,field_5bf68deadbeef)并获取字段对象以从中获取所有可能的选择。

    将上面的循环替换为以下内容:

    $localization_field = get_field_object('field_5bf68deadbeef');                  
    
    foreach ($localization_field['choices'] as $key => $label) {                    
    ?>                                                                              
        <option value="<?= $key ?>"> <?= $label ?> </option>                        
    <?php                                                                           
    }         
    

    此代码将获取您的 Select 字段的定义并遍历所有可能的选择。假设您的选择是 value:text 对,它会将值插入为 &lt;option value="..."&gt; 并将文本作为标签。

    【讨论】:

      猜你喜欢
      • 2020-04-19
      • 1970-01-01
      • 1970-01-01
      • 2021-05-22
      • 2019-06-03
      • 1970-01-01
      • 2021-03-23
      • 2011-02-05
      • 2020-08-30
      相关资源
      最近更新 更多