首页 > 解决方案 > 根据 WooCommerce 商店和存档页面上的产品类别在产品价格下方显示图像

问题描述

我目前正在为客户开发 WooCommerce 商店。她正在销售珠宝,并希望我在产品网格的产品价格下方显示一个金色/银色圆圈(如屏幕截图所示)。

在此处输入图像描述


我的想法类似于通过以下方式获取类别:

<?php if (is_product_category('979')) then do something ?>

我已经尝试回显并将其插入wc-template-functions.php--> product-title-loop 但它没有成功。

如果有人能指出我正确的方向会很高兴

标签: phpwordpresswoocommerceproductcategories

解决方案


“我已经尝试回显并将其插入 wc-template-functions.php”

永远不要编辑核心文件!

当您修改插件的核心文件时,您冒着破坏插件和可能破坏您的 WordPress 安装的风险。此外,插件开发人员无法为您提供支持,因为他们不知道您所做的更改。


woocommerce_after_shop_loop_item动作钩子与has_term ()结合使用

function action_woocommerce_after_shop_loop_item() {
    // Get the global product object
    global $product;
    
    // Is a WC product
    if ( is_a( $product, 'WC_Product' ) ) {
        
        // Has term - specific categories: the term name/term_id/slug. Several could be added, separated by a comma
        if ( has_term( array( 'categorie-1' ), 'product_cat', $product->get_id() ) ) {
            echo '<img src="my-image.jpg">';
        } elseif ( has_term( array( 'categorie-2' ), 'product_cat', $product->get_id() ) ) {
            echo '<img src="another-image.jpg">';
        }
    }
}
add_action( 'woocommerce_after_shop_loop_item', 'action_woocommerce_after_shop_loop_item', 10, 0 );

代码位于活动子主题(或活动主题)的 functions.php 文件中。


推荐阅读