我需要将woocommerce商店页面上拥有的所有产品分类。默认情况下, 即使产品属于不同类别, 所有产品都位于同一列表中。将每个类别放在类别标题下的单独列表中会很棒。
#1
唯一的方法是复制和编辑模板文件或使用挂钩。我最喜欢的方法是使用钩子, 因为钩子在执行插件更新时不会那么麻烦。首先, 你要确保已将woocommerce设置设置为在产品页面上显示类别。然后打开你的主题functions.php文件, 并将其放入其中:
function order_by_multiple() {
if(function_exists('is_woocommerce')){
if(is_woocommerce()||is_search()||is_product_category()) return ' tm.meta_value, post_title';
}
}
function product_order_join($join){
global $wpdb;
if(function_exists('is_woocommerce')){
if(is_woocommerce()||is_search()||is_product_category()){
$join.= " JOIN " . $wpdb->term_relationships ." tr ON " . $wpdb->posts . ".id = tr.object_id JOIN " . $wpdb->term_taxonomy ." tt ON tt.term_taxonomy_id = tr.term_taxonomy_id AND tt.taxonomy = 'product_