wordpress 更改Woocommerce产品类别小工具'标题'基于产品类别

wn9m85ua  于 2023-01-12  发布在  WordPress
关注(0)|答案(2)|浏览(225)

我正在寻找一种方法来更改Woocommerce产品类别小工具的标题基于我正在查看的类别。
类别1 -----〉显示类别1的控件标题

- Sub Category
- Sub Category
- Sub Category

类别2 -----〉显示类别1的控件标题

- Sub Category
- Sub Category
- Sub Category

我正在处理这个问题,但似乎不能正确地定位小部件标题和创建if else语句。

function retitle_woo_category_widget() {
    // If 'Category' 1 is being viewed...
    if ( is_product() && has_term( 'Category 1', 'product_cat' ) ) {
        //... Remove the images
        return __('Title of Widget for Category 1');
    }
    else {
    // If 'Category' 2 is being viewed...
    if ( is_product() && has_term( 'Category 2', 'product_cat' ) ) {
        return __('Title of Widget for Category 2');
}

add_filter ( 'widget_title' , 'retitle_woo_category_widget');

有什么建议吗?

x6yk4ghg

x6yk4ghg1#

widget_title有3个参数可以用来检查合适的类别。根据这些参数,你可以通过返回一个替代字符串来更改标题。请记住,这也会影响到任何其他小部件。使用以下参数作为基础:

function my_widget_title( $title, $instance, $id_base ) {
    if ( !is_single() ) {
        return $title;
    }

    $post_title = get_the_title();
    switch ( $id_base ) {
        case 'pages': return sprintf( '%s "%s"', $title, $post_title );
        case 'links': return sprintf( 'Links for "%s" post.', $post_title );
        // other widgets ...
        default: return $title;
    }
}
add_filter( 'widget_title', 'my_widget_title', 10, 3 );
ars1skjm

ars1skjm2#

2022年,你来啦!

//Customize Woocommerce Category Widget to show title of current category
function dynamic_product_category_widget($title, $widget_instance, $widget_id) {

    if ( $widget_id !== 'woocommerce_product_categories' )
        return $title;

    if ( is_product_category() ) {
        $cat_title = '<p class="widget-title footer-widget">'.single_cat_title()."</p>";
        return $cat_title;
    } elseif ( is_product() ) {
        $cat = get_the_terms( $product->ID, 'product_cat' );

        foreach ($cat as $categoria) {
            if($categoria->parent == 0){
                $topCategory = $categoria;
            }
        }
        return '<p class="widget-title footer-widget">'.$topCategory->name.'</p>';
    }
    
    return $title;
}
add_filter ( 'widget_title' , 'dynamic_product_category_widget', 10, 3);

相关问题