php - 产品页面上的 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'] : '');
前两行将正常价格和折扣(销售)价格值输入数据库。第三行是产品页面上的输出,我需要对其进行更改:
- 如果存在折扣价
_sale_price / [sale-price]
,则应_price / [price]
在第 3 行默认显示。 - 如果不存在折扣价
_sale_price / [sale-price]
,则第 1 行的正常价格应在第 3 行显示为 [价格]
我已经尝试过if (isset($product['sale-price'])){? $product['sale-price'] : '';}else{? $product['price'] : '';}
,但这会引发 500 错误。
任何帮助表示赞赏。
解决方案
我的最终工作代码如下:
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的帮助。:)
推荐阅读
- exception - 使用循环变量时,Raku 是否会丢弃异常?
- continuous-integration - 如何将 Liquibase 集成到大型组织的现有 CI/CD 管道中?
- labview - 如何在LabVIEW中将簇写入文件?
- python - 通过 django 访问 Moodle 网络服务
- c++ - Maximum and minimum values not printing in main () function
- qt - QML - RowLayout - 甚至没有间距
- dialogflow-es - 如何限制聊天机器人 Kommunicate 中收到的聊天数量
- java - Maven HTTPS 迁移抛出 501
- c# - 如何在 Web api C# 中与 MSSQL 建立连接?
- c++ - 无法在构造函数中将变量作为参数传递(C++)