如何在Woocommerce中以编程方式仅显示子类别而不显示产品?

时间:2018-08-02 05:04:46

标签: php wordpress woocommerce

如何在Woocommerce中以编程方式仅显示子类别而不显示产品? 以下代码段在大多数情况下都能正常工作,但在某些类别中,它返回“子类别”值并显示产品。我试图禁用所有插件更改主题,以更改该类别的显示类型,但这没有用。  有什么问题吗?

add_filter( 'get_term_metadata', 'pt_set_category_display', 10, 4 ); 

function pt_set_category_display( $value = null, $object_id, $meta_key, $single ){
    if ( function_exists('wcapf_get_ids_of_category') && 'display_type' === $meta_key){
        $postids_in_cur_cat = wcapf_get_ids_of_category();
        $someproperties = wcapf_get_articuls($postids_in_cur_cat);

        //Get category of woocommerce
        $term = get_term( $object_id, 'product_cat' );

        if ( count( $someproperties ) > 1 && is_object( $term ) && 'display_type' == $meta_key){
            $display_type = 'subcategories';
        }
        elseif ( count( $someproperties )  == 1 && is_object( $term ) && 'display_type' === $meta_key){
            $display_type = 'products';
        }
        else{
            $display_type = 'products';
        }
        return ( true === $single ) ? $display_type : array( $display_type );
    }
    return;
}

0 个答案:

没有答案