loop/price.php

我试过了,很管用,但我不确定这是不是好方法

<?php if ( $price_html = $product->get_price_html() ) : ?>
    <?php add_filter( 'woocommerce_format_sale_price', 'test_loop_price', 10, 3 );
    ?>
    <span class="price"><?php echo $price_html; ?></span>
<?php endif; ?>

推荐答案

是的,这是个坏主意,因为这不是正确的方法…显然,您使用的是一个名为test_loop_price()的定制函数,并且在您的问题中没有提供该函数的代码.

首先从loop/price.php模板文件中删除您的自定义代码.

然后,您需要以WooCommerce产品循环为目标,在该函数中如下所示:


add_filter( 'woocommerce_format_sale_price', 'test_loop_price', 10, 3 );
function test_loop_price( $price, $regular_price, $sale_price ) {
    global $woocommerce_loop, $product;

    if ( ( is_product() && isset($woocommerce_loop['name']) && empty($woocommerce_loop['name']) ) ) {
        return $price;
    }

    ## Here below comes your existing code ##

    
    return $price;
}

代码放在子主题的functions.php文件中(或插件中).测试和作品.

Php相关问答推荐

未在moodle上运行的计划任务

WooCommerce产品按特定元数据的自定义数字排序选项

如何让PHP变量跨越多个脚本调用?

在Google云存储对象上从PHP设置缓存控制TTL会更改错误的元数据

在WooCommerce管理订单列表中显示项目总权重

Laravel;Composer安装突然返回选项快捷方式不能为空.

根据选定的字段值显示或隐藏WooCommerce注册字段

根据WooCommerce购物车页面中的自定义 Select 添加费用

列出所有WooCommerce处理订单中的产品数量,SKU和品牌

模式 bootstrap 未显示

是否有条件判断是否发布了另一个Wordpress页面?

如何在codeigniter中将order_by RAND与下面的代码一起使用

根据WooCommerce的定制订单状态增加产品库存

重命名 WordPress 中现有的自定义分类法名称和标签

如果 Select 的县不是store 所在的县,如何隐藏本地自提?

计算添加到购物车的点击次数并将其显示在 WooCommerce 管理产品列表中

如何在 laravel 中的同一个 slug 上显示不同的内容?

如何使用相同的变量使函数参数对于数组和字符串都是可选的

判断类别是否存在 Shopware 6

PHP / DOM : 解析 HTML 以提取基于类的数​​据