首页 > 解决方案 > 产品页面上的 Woocommerce 价格输出

问题描述

我需要修改一个插件以满足我的需要。插件代码如下:

1. update_post_meta($post_id, '_regular_price', (isset($product['price']) && !empty($product['price'])) ? $product['price'] : '');
2. update_post_meta($post_id, '_sale_price', (isset($product['sale-price']) && !empty($product['sale-price']) && ($product['sale-price']<$product['price']) ) ? $product['sale-price'] : '');
3. update_post_meta($post_id, '_price', (isset($product['price'])) ? $product['price'] : '');

前两行将正常价格和折扣(销售)价格值输入数据库。第三行是产品页面上的输出,我需要对其进行更改:

  1. 如果存在折扣价_sale_price / [sale-price],则应_price / [price]在第 3 行默认显示。
  2. 如果不存在折扣价_sale_price / [sale-price],则第 1 行的正常价格应在第 3 行显示为 [价格]

我已经尝试过if (isset($product['sale-price'])){? $product['sale-price'] : '';}else{? $product['price'] : '';},但这会引发 500 错误。

任何帮助表示赞赏。

标签: phpwordpresswoocommerce

解决方案


我的最终工作代码如下:

update_post_meta($post_id, '_regular_price', (isset($product['price']) && !empty($product['price'])) ? $product['price'] : '');

update_post_meta($post_id, '_sale_price', (isset($product['sale-price']) && !empty($product['sale-price']) && ($product['sale-price']<$product['price'])) ? $product['sale-price'] : ((isset($product['retail-price']) && !empty($product['retail-price']) && ($product['retail-price']<$product['price'])) ? $product['retail-price'] : '')); 

update_post_meta($post_id, '_price', (isset($product['sale-price']) && !empty($product['sale-price'])) ? $product['sale-price'] : ((isset($product['retail-price']) && !empty($product['retail-price'])) ? $product['retail-price'] : $product['price']));

感谢Frits的帮助。:)


推荐阅读