显示分配给WooCommerce产品的类别

时间:2014-04-08 作者:beamkiller

我正在使用WooCommerce和SuperStore主题。在meta中。php文件是这一行,

echo $product->get_categories( \', \', \'<span class="posted_in">\' . _n( \'Category:\', \'Categories:\', $cat_count, \'woocommerce\' ) . \' \', \'.</span>\' ); 
它显示分配给职位的类别,但不按层次顺序显示。我想按层次顺序显示这些。

我还发现了这段代码,经过一些更改后,它以正确的顺序显示类别,但如果顶级父类不是前一个类别,我需要一个新的行标记。

$taxonomy = \'product_cat\';

    // get the term IDs assigned to post.
    $post_terms = wp_get_object_terms( $post->ID, $taxonomy, array( \'fields\' => \'ids\' ) );
    // separator between links
    $separator = \' » \';

    if ( !empty( $post_terms ) && !is_wp_error( $post_terms ) ) {

        $term_ids = implode( \',\' , $post_terms );
        $terms = wp_list_categories( \'title_li=&style=none&echo=0&taxonomy=\' . $taxonomy . \'&include=\' . $term_ids );
        $terms = rtrim( trim( str_replace( \'<br />\',  $separator, $terms ) ), $separator );

        // display post categories
        echo  $terms;
    }
示例:

儿童鞋(sub)

童鞋(sub)

现在显示为:Shoes»Kids»Kids»Shoes

我需要它显示为:

鞋子»儿童

儿童»鞋

感谢您的帮助:)

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

我已通过创建列表解决了此问题

http://codex.wordpress.org/Template_Tags/wp_list_categories

将样式更改为列表,然后根据需要使用CSS设置样式:)

<?php 

    $taxonomy = \'product_cat\';

    // get the term IDs assigned to post.
    $post_terms = wp_get_object_terms( $post->ID, $taxonomy, array( \'fields\' => \'ids\' ) );

    if ( !empty( $post_terms ) && !is_wp_error( $post_terms ) ) {

        $term_ids = implode( \',\' , $post_terms );

        $tophelp_categories = wp_list_categories( \'title_li=<span class="posted_in">Kategóriák:</span>&style=list&echo=0&depth=0&taxonomy=\' . $taxonomy . \'&include=\' . $term_ids );

        // display post categories
        echo ($tophelp_categories);
    }

?>

结束

相关推荐

Set terms in a custom post

我有一个自定义贴子“艺术家”和一个分类/类别“艺术家类别”,我想创建(通过开发)一个新贴子并设置艺术家的类别,但它不起作用。我用以下代码对其进行了测试:function createNewPost( $response ){ global $userMeta; $userID = $response->ID; $user = new WP_User( $userID ); $role = $userMeta->