Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过amazon api在woocommerce中设置产品变化的价格_Php_Wordpress_Woocommerce - Fatal编程技术网

Php 通过amazon api在woocommerce中设置产品变化的价格

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=

我的woocommerce商店中有亚马逊产品作为产品变体。我正在尝试开发一个插件,根据API请求自动设置变化价格

接下来,我在变体中添加了自定义字段。一个是亚马逊ASIN:

<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);
        }
    }
}
}