【问题标题】:Getting duplicates term names in array wordpress custom fields terms?在数组wordpress自定义字段术语中获取重复的术语名称?
【发布时间】:2020-07-07 08:54:37
【问题描述】:

这是我的代码,我得到了重复的值。

$results = array();
    $results['targetOptions'] = array();
    $selectOptions = array();
    $selectOptions = get_posts(
                        array(
                            'post_type' => 'collection',
                            'post_status' => 'publish',
                            'posts_per_page' => -1,
                            'post_parent' => 0,                 
                        )
                    );

                    $results['targetOptions'][] = array("text" => __('Select a Collection', 'theme'), "value" => '');

                    foreach ($selectOptions as $selectOption) :
                        if($sourceVal == '999999') {
                            $terms = get_the_terms( $selectOption->ID, 'window_style' ); 
                        }else {
                            $terms = get_the_terms( $selectOption->ID, 'door_style' );
                        }
                        foreach($terms as $term) {

                          $results['targetOptions'][] = array("text" => $term->name, "value" => 'other-product--' . $selectOption->ID . '--other_product_style--' . $sourceVal);
                        }

                    endforeach;

                    $results['targetClass'] = '.dynamic-collection';

【问题讨论】:

    标签: php wordpress advanced-custom-fields custom-taxonomy taxonomy-terms


    【解决方案1】:
    $selectOptions = get_posts(
                        array(
                            'post_type' => 'collection',
                            'post_status' => 'publish',
                            'posts_per_page' => -1,
                            'post_parent' => 0,                 
                        )
                    );
    
                    $results['targetOptions'][] = array("text" => __('Select a Collection', 'theme'), "value" => '');
    
                    $term_value_windows = array();
                    $term_value_doors = array();
                    foreach ($selectOptions as $selectOption) :
                        if($sourceVal == '999999') {
                            $terms = get_the_terms( $selectOption->ID, 'window_style' ); 
                            foreach($terms as $term) {
    
                              if(in_array($term->name, $term_value_windows)){
                                continue;
                              } else{
                                $term_value_windows[]=$term->name;                          
                                $results['targetOptions'][] = array("text" => $term->name, "value" => 'other-product--' . $term->term_id . '--other_product_style--' . $sourceVal);
                              }
    
                            }
                        }else {
                            $terms = get_the_terms( $selectOption->ID, 'door_style' );
                            foreach($terms as $term) {
    
                              if(in_array($term->name, $term_value_doors)){
                                continue;
                              } else{
                                $term_value_doors[]=$term->name;
    
                                $results['targetOptions'][] = array("text" => $term->name, "value" => 'other-product--' . $term->term_id . '--other_product_style--' . $sourceVal);
                              }
    
                            }
                        }       
    
    
                    endforeach;
    
    
                    $results['targetClass'] = '.dynamic-collection';
    

    这是该问题的答案。

    【讨论】:

      猜你喜欢
      • 2021-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-05
      • 2017-07-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多