仅获取选定的自定义分类

时间:2017-12-20 作者:DeluxeD

我有以下代码:

        $post_types = get_post_types();


    if($post_types)
    {
        foreach($post_types as $post_type)
        {
            $post_type_object = get_post_type_object($post_type);
            $taxonomies = get_object_taxonomies($post_type);
            if($taxonomies)
            {
                foreach($taxonomies as $taxonomy)
                {
                    if(!is_taxonomy_hierarchical($taxonomy)) continue;
                    $terms = get_terms($taxonomy, array(\'hide_empty\' => false));
                    if($terms)
                    {
                        foreach($terms as $term)
                        {
                            $value = $taxonomy . \':\' . $term->term_id;

                            if( $simple_value )
                            {
                                $value = $term->term_id;
                            }

                            $choices[$post_type_object->label . \': \' . $taxonomy][$value] = $term->name; 
                        }
                    }
                }
            }
        }
这将列出我拥有的所有分类法。但我只需要那些具有product\\u cat类别的分类法。有什么建议我该如何改变这一点?

1 个回复
SO网友:David Sword

在你第一次foreach 循环,在脚本的顶部,定义一个空数组来容纳您要查找的内容:

$taxWith_product_cat = array();
现在,由于您正在遍历所有分类法和其中的所有术语,因此在术语循环中foreach($terms as $term), 检查当前术语是否为product_cat. 如果是,请将术语分类添加到新数组中:

if ($term->slug == \'product_cat \')
    $taxWith_product_cat[] = $taxonomy;
给你。现在,在脚本的末尾,您有了一系列分类法,其中包含product_cat:

echo "<pre>".print_r($taxWith_product_cat,true)."</pre>";

结束
仅获取选定的自定义分类 - 小码农CODE - 行之有效找到问题解决它

仅获取选定的自定义分类

时间:2017-12-20 作者:DeluxeD

我有以下代码:

        $post_types = get_post_types();


    if($post_types)
    {
        foreach($post_types as $post_type)
        {
            $post_type_object = get_post_type_object($post_type);
            $taxonomies = get_object_taxonomies($post_type);
            if($taxonomies)
            {
                foreach($taxonomies as $taxonomy)
                {
                    if(!is_taxonomy_hierarchical($taxonomy)) continue;
                    $terms = get_terms($taxonomy, array(\'hide_empty\' => false));
                    if($terms)
                    {
                        foreach($terms as $term)
                        {
                            $value = $taxonomy . \':\' . $term->term_id;

                            if( $simple_value )
                            {
                                $value = $term->term_id;
                            }

                            $choices[$post_type_object->label . \': \' . $taxonomy][$value] = $term->name; 
                        }
                    }
                }
            }
        }
这将列出我拥有的所有分类法。但我只需要那些具有product\\u cat类别的分类法。有什么建议我该如何改变这一点?

1 个回复
SO网友:David Sword

在你第一次foreach 循环,在脚本的顶部,定义一个空数组来容纳您要查找的内容:

$taxWith_product_cat = array();
现在,由于您正在遍历所有分类法和其中的所有术语,因此在术语循环中foreach($terms as $term), 检查当前术语是否为product_cat. 如果是,请将术语分类添加到新数组中:

if ($term->slug == \'product_cat \')
    $taxWith_product_cat[] = $taxonomy;
给你。现在,在脚本的末尾,您有了一系列分类法,其中包含product_cat:

echo "<pre>".print_r($taxWith_product_cat,true)."</pre>";