我有一些复杂的解释问题,我希望有人能理解和帮助我。
我在WooCommerce上设置了自定义字段,用于为每个产品输入特定的代码(类似于SKU,称为"asin"),然后在后端使用该代码使用Amazon从亚马逊上的产品页面获取价格(不要担心我的问题是通用的,与API无关)。
下面是我的简单产品类型的代码示例,它的工作原理与我所需要的完全一样。
ID, "wccaf_de_asin", true );
$associate_id = "google-21";
$access_key = "N22EKJMDWJMDWIJWIJWDIWDW";
$secret_key = "48UJIFJIJFEIFJF89U8EKFIEJIUJWHUFUEFJFSIJF";
$amazon_domain = "amazon.de";
$asin = $de_asin;
// This is the code i use to get the product price from amazon website using it's api
include 'amazon-api/amazon_class.php';
$amazon = new AmazonAPI($associate_id , $access_key, $secret_key , $amazon_domain);
$item = $amazon->item_lookup($asin)->get_item_data();
echo $item->price;
?> 我的问题是变型产品,因为当我在变型之间切换时,我需要那个定制的价格来改变。
这是我用来为变体产品类型"asin代码“获得自定义产品价值的代码,该代码工作非常完美,但我需要添加类似于我对上述简单产品所做的价格,并使用当前选定的变体的asin,并使用上面的amazon变量中的asin。
我从这里得到了变体产品的自定义字段,http://www.remicorson.com/woocommerce-custom-fields-for-variations/
我猜这里的主要问题是,这个代码在页面呈现后使用javascript获取所选变体的asin,我需要获得所选变体的asin,并将其发送到php,这样我就可以通过amazon发送它以获得价格。所以,我想知道是否有任何方法可以使用第一个简单代码段上显示的价格API代码,并在第二个变体片段上使用它?
(事先非常感谢:)
发布于 2018-09-26 21:51:21
我解决了这个问题,我所缺少的是将API返回到string,下面的代码希望它能帮助到一些人。
item_lookup($variations['wccaf_de_asin_var'])->get_item_data();
$variations['amz_price_var_de'] = (string) $item->price;
return $variations;
}
//wccf_after_variation_description is a hook i created into variation.php
add_action( 'wccf_after_variation_description', 'wcff_variation_affiliate_button', 10);
function wcff_variation_affiliate_button() {
// IP Geolocation
$country_code = $_SERVER ["HTTP_CF_IPCOUNTRY"];
$de_asin = '{{{ data.variation.wccaf_de_asin_var }}}';
$uk_asin = '{{{ data.variation.wccaf_uk_asin_var }}}';
if ($country_code=="DE") {
$asin = $de_asin;
}
if ($country_code=="GB") {
$asin = $uk_asin;
}
echo $asin;
?>
{{{data.variation.amz_price_var_de}}}https://wordpress.stackexchange.com/questions/315244
复制相似问题