欢迎光临
我们一直在努力

WordPress查询指定post_type下所有taxonomy函数:get taxonomies

$args = array(    'public'   => true,    'object_type' =>array('demand'),  );    $output = 'object'; // or objects  $operator = 'and'; // 'and' or 'or'  $taxonomies = get_taxonomies( $args, $output, $operator );    if ( $taxonomies ) {    foreach ( $taxonomies  as $taxonomy ) {      if( is_taxonomy_hierarchical($taxonomy->name) ){          echo $taxonomy->labels->name;      }else{          echo $taxonomy->labels->name.'没有层级';      }    }  }unset($taxonomy);

这样就输出了注册到demand类型下的所有taxonomy

2019.02.01补充

截至wp5.0这个函数有个bug,就是如果一个taxonomy同时关联了多个post type,当指定post type查询时,是无法输出这个taxonomy的。

解决办法只能是先查询出全部的taxonomy,然后获取taxonomy的 object type数组,查询当前post type是否匹配:

$post_type = 'demand'  $cat_taxonomies = array();  $tag_taxonomies = array();  $taxonomies = get_taxonomies(array(), 'object', 'and' );  if ( $taxonomies ) {    foreach ( $taxonomies  as $taxonomy ) {      	if(!in_array($post_type,$taxonomy->object_type)){    		continue;    	}        if( is_taxonomy_hierarchical($taxonomy->name) ){          array_push($cat_taxonomies, $taxonomy->name);      }else{          array_push($tag_taxonomies, $taxonomy->name);      }    }unset($taxonomy);  }



微信扫描下方的二维码阅读本文

未经允许不得转载:小智Blog » WordPress查询指定post_type下所有taxonomy函数:get taxonomies
分享到: 生成海报
智宇腾文化blog

热门推荐

    切换注册

    登录

    忘记密码 ?

    切换登录

    注册

    我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活