Php 通过amazon api在woocommerce中设置产品变化的价格
我的woocommerce商店中有亚马逊产品作为产品变体。我正在尝试开发一个插件,根据API请求自动设置变化价格 接下来,我在变体中添加了自定义字段。一个是亚马逊ASIN:Php 通过amazon api在woocommerce中设置产品变化的价格,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,我的woocommerce商店中有亚马逊产品作为产品变体。我正在尝试开发一个插件,根据API请求自动设置变化价格 接下来,我在变体中添加了自定义字段。一个是亚马逊ASIN: <label><?php _e( 'Amazon ASIN', 'woocommerce' ); ?></label> <input type="text" size="20" name="amazon_asin[<?php echo $loop; ?>]" value=
<label><?php _e( 'Amazon ASIN', 'woocommerce' ); ?></label>
<input type="text" size="20" name="amazon_asin[<?php echo $loop; ?>]" value="<?php echo $variation_data['_amazon_asin'][0]; ?>"/>
然而,这是不起作用的,它可能是一个错误的方式来做这一切在一起。我知道(从另一个脚本)aws_签名的_请求工作正常。也就是说,如果我输入正确的$asin,我就得到了正确的$price。其余的:老实说,我完全迷失了方向
非常感谢您的帮助
Thx
//赛博
add_action( 'update_post_meta', 'get_amazon_price', 10, 4 );
function get_amazon_price( $meta_id, $post_id, $meta_key, $meta_value ) {
global $product, $post;
if ( 'amazon_asin' == $meta_key ) {
$variations = $product->get_available_variations();
foreach ($variations as $key => $value) {
if (get_post_meta($value['variation_id'], '_amazon_asin', true) != null) {
$asin = get_post_meta($value['variation_id'], '_amazon_asin', true);
$publicKey = 'XXXXX';
$privateKey = 'XXXXX';
$xml = aws_signed_Request('de',
array(
"AssociateTag"=>"XXX",
"MerchantId"=>"Amazon",
"Operation"=>"ItemLookup",
"ItemId"=>$asin,
"ResponseGroup"=>"Medium, Offers"),
$publicKey,$privateKey);
$item = $xml->Items->Item;
$price = $item->Offers->Offer->OfferListing->Price->Amount;
update_post_meta($value['variation_id'], '_price', $price);
}
}
}
}