Show Price Suffix only on all WooCommerce Product loops

前端 未结 2 1749
盖世英雄少女心
盖世英雄少女心 2020-12-21 17:39

I have an online shop with WooCommerce. I want to show a custom price Suffix only on the Product List Page (like Shop Page), where all products are listed.

I have the

相关标签:
2条回答
  • 2020-12-21 18:12

    The following will show an additional custom price suffix on all product listings (except on single products):

    add_filter( 'woocommerce_get_price_suffix', 'additional_price_suffix', 999, 4 );
    function additional_price_suffix( $html, $product, $price, $qty ){
        global $woocommerce_loop;
    
        // Not on single products
        if ( ( is_product() && isset($woocommerce_loop['name']) && ! empty($woocommerce_loop['name']) ) || ! is_product() ) {
            $html .= ' ' . __('Suffix');
        }
        return $html;
    }
    

    Or you can also use:

    add_filter( 'woocommerce_get_price_html', 'additional_price_suffix', 100, 2 );
    function additional_price_suffix( $price, $product ){
        global $woocommerce_loop;
    
        // Not on single products
        if ( ( is_product() && isset($woocommerce_loop['name']) && ! empty($woocommerce_loop['name']) ) || ! is_product() ) {
            $price .= ' ' . __('Suffix');
        }
        return $price;
    }
    

    Code goes in functions.php file of your active child theme (or active theme). Tested and works.

    0 讨论(0)
  • 2020-12-21 18:14

    As mentioned in the comments you can use the is_shop() function to check if you are on the shop page like this:

    add_filter( 'woocommerce_get_price_html', 'custom_price_suffix', 100, 2 );
    function custom_price_suffix( $price, $product ) {
        if ( is_shop() ) $price .= ' ' . __('Suffix');
        return $price;
    }
    
    0 讨论(0)
提交回复
热议问题