Php WooCommerce:也在子类别页面上对类别/子类别进行排序
我发现了一个WooCommerce代码片段,它在分类页面上添加了排序功能,并且可以正常工作 但问题是排序子类别仅显示在父类别页面上,而不显示在子类别页面中 这是分类页面: 问题是排序在子类别页面上不起作用: 为了实现这一点,我需要在代码中修改什么 这是我的密码:Php WooCommerce:也在子类别页面上对类别/子类别进行排序,php,wordpress,woocommerce,categories,product,Php,Wordpress,Woocommerce,Categories,Product,我发现了一个WooCommerce代码片段,它在分类页面上添加了排序功能,并且可以正常工作 但问题是排序子类别仅显示在父类别页面上,而不显示在子类别页面中 这是分类页面: 问题是排序在子类别页面上不起作用: 为了实现这一点,我需要在代码中修改什么 这是我的密码: function tutsplus_product_subcategories( $args = array()) { $parentid = get_queried_object_id(); $args = array(
function tutsplus_product_subcategories( $args = array()) {
$parentid = get_queried_object_id();
$args = array(
'parent' => $parentid
);
$terms = get_terms( 'product_cat', $args );
if ( $terms) {
echo '<ul class="wooc_sclist">';
foreach ( $terms as $term ) {
echo '<li class="category">';
echo '<h2>';
echo '<a href="' . esc_url( get_term_link( $term ) ) . '" class="' . $term->slug . '">';
echo $term->name;
echo '</a>';
echo '</h2>';
echo '</li>';
}
echo '</ul>';
}
}
add_action( 'woocommerce_before_shop_loop', 'tutsplus_product_subcategories', 50 );
参考资料:我找到了制作方法,因此我将与您分享:
function sub_fillter(){
$sub = wp_get_post_terms(get_the_ID(),'product_cat');
if ( is_subcategory()){
$cat = array_shift( $sub );
$cat=get_term_top_most_parent($cat->term_id,'product_cat');
tutsplus_product_subcategories($cat);
}
}
add_action('woocommerce_before_shop_loop', 'sub_fillter', 50);
function is_subcategory (){
$cat = get_query_var('cat');
$category = get_category($cat);
$category_gt_parent="";
return ( $category_gt_parent == '0' ) ? false : true;
}
function tutsplus_product_subcategories( $cat) {
$parentid = $cat->term_id;
$args = array(
'parent' => $parentid
);
$terms = get_terms( 'product_cat', $args );
if ( $terms || is_subcategory()) {
echo '<ul class="wooc_sclist">';
foreach ( $terms as $term ) {
echo '<li class="category">';
echo '<h2>';
echo '<a href="' . esc_url( get_term_link( $term ) ) . '" class="' . $term->slug . '">';
echo $term->name;
echo '</a>';
echo '</h2>';
echo '</li>';
}
echo '</ul>';
}
}
抱歉耽搁了,这里有一些截图,这是我在我的父类别页面中进行的子类别排序:这是子类别页面,问题是排序没有显示在其中:查看更多调试结果会很有帮助。在子类别页面上,什么最终被存储到$terms中?这是你所期望的吗?if语句条件是否返回true以便尝试创建无序列表?我做了一些调试。问题是,当我使用get\u queryed\u object\u id时,我无法获取子类别id的父类别;它给了我当前的类别,我怎样才能让它给我子类别父类别的id?我刚刚编辑并添加了结论SIT没有改变子类别id。