2 回答
TA贡献1951条经验 获得超3个赞
你确定你$WC_Coupon
的实例化正确吗?无论优惠券是如何添加到系统中的,一旦添加到系统中,它就应该像其他任何优惠券一样起作用。
建议您获取 $WC_Coupon 的 var_dump 并查看它是否输出正确的值,否则,您可能没有为构造函数提供正确的代码参数。
TA贡献1852条经验 获得超1个赞
如果我正确地解释了代码,您想要查找两种货币的两种产品。这可以在您定义产品和货币后使用嵌套的 foreach 循环来完成。
$cacheDirectory = $_SERVER['DOCUMENT_ROOT'] . '/cache/';
$url = 'https://remotedomain.com/?get=price';
const MAX_CACHE_TIME = 1600;
// Optional
$output = [];
$productList = [
[
'id' => 10,
'name' => 'SM',
],
[
'id' => 20,
'name' => 'LG',
]
];
$currencies = [
'US' => 1,
'EU' => 2,
];
foreach ($productList as $product) {
foreach ($currencies as $currencyName => $currencyId) {
$cacheFile = $cacheDirectory . $product['name'] . '_' . $currencyName . '.cache';
if (!file_exists($cacheFile) || filemtime($cacheFile) > MAX_CACHE_TIME) {
// No cache or too old
$data = file_get_contents($url . '&product=' . $product['id'] . '¤cy=' . $currencyId);
$relevantData = substr($data, 17, 2);
file_put_contents($cacheFile, $relevantData);
// Optional, put the data in an array
$output[$product['id']][$currencyId] = $relevantData;
} else {
$output[$product['id']][$currencyId] = file_get_contents($cacheFile);
}
}
}
// Read output with $output[10]['US'] for example
分享
编辑
跟随
- 2 回答
- 0 关注
- 141 浏览
添加回答
举报