从分类术语循环中排除产品属性

时间:2018-09-13 作者:Gabriel Souza

正如标题所示,我想从分类术语循环中排除产品属性,但每个属性都是唯一的分类,因此我不知道如何通过编程排除所有属性。如果有人知道怎么做我会很感激的。

$taxonomies = get_object_taxonomies( \'product\', \'objects\' );
$exclude = array( \'product_type\', \'product_visibility\', \'product_cat\', \'product_tag\', \'product_shipping_class\' );

foreach ( $taxonomies  as $taxonomy ) {
  if ( in_array( $taxonomy->name, $exclude ) ) {
    continue;
  }

  $terms = get_terms( array(
    \'taxonomy\' => $taxonomy->name,
  ) );

  foreach ($terms as $term) { 
    echo $term->name;
  }   
}

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

产品属性分类法的前缀为pa_, 因此,您可以检查该前缀的分类名称,如果存在,则跳过它:

if ( substr( $taxonomy->name, 0, 3 ) === \'pa_\' ) {
    continue;
}

结束

相关推荐

Get_Terms()Order by Term_Meta

我正在做一个get_terms() 我试图按自定义术语元排序的查询。自定义术语元键是\'order\' 它是一个数值(介于1和10之间)。我尝试了以下方法,但顺序似乎没有遵循元值-任何指针都是值得赞赏的。$type_terms = get_terms( \'type\', array( \'hide_empty\' => false, array( \'key\' => \'order\', ), \'or