我分叉这个回购https://github.com/FundacionPesetacoin/Pesetacoin_WooCommerce-Plugin和工作正常。但当改变API捕捉其他网站的价格,而不是更新
我尝试了一些不同的API链接,并使相同的。原始代码得到他的私人API的信息,我想使用其他公共API。
与原始代码,API显示此信息:
{"status" : "success" , "message" : "null", "ptc_btc" : "0.00000083", "btc_usd" : "5070.29", "btc_eur" : "4505.46", "supply" : "138188628.56442260", "ptc_eur" : "0.00373953", "ptc_usd" : "0.00420834" , "date" : "2019-04-13 10:20:07"}
并获得“ptc_eur”的API显示在购物车。现在我想使用其他网站https://api.coingecko.com/api/v3/simple/price?ids=reecore&vs_currencies=eur的新API比显示此信息:
{"reecore":{"eur":0.0046564}}
我想只使用“欧元”的数据,同样的原始代码使用“ptc_eur”,但不工作。对不起,我的英语。
原始代码:
//precio en PesetaCoins
global $woocommerce;
$euros= $woocommerce->cart->total;
$xaxa= "http://nodos.pesetacoin.info/api/api.php";
$data = file_get_contents($xaxa);
$pesetas = json_decode($data, true);
$valor_ptc= $pesetas['ptc_eur'];
$ptc= $euros/$valor_ptc;
$ptc= round($ptc, 2);
//precio en PesetaCoins
$pagos= array();
$metodo= $order->get_payment_method();
$i = -1;
foreach ( $this->account_details as $account ) {
$i++;
$pagos[$i]=
$pagos[$i]= esc_attr( wp_unslash( $account['hash_name'] ) );
}
$cont= rand(0, $i);
if($metodo == "ptc") {
$description= "<span style='font-size:14px'>Para completar el pedido, debe enviar la cantidad <b>".$ptc."</b> de Pesetacoin a la siguiente dirección: <b>";
$description.= $pagos[$cont];
$description.="</b><br>Una vez se reciba la transacción se enviará el pedido.</span>";
echo wpautop(wptexturize($description));
}
}
新代码:
//precio en ReecoreCoins
global $woocommerce;
$euros= $woocommerce->cart->total;
$xaxa= "https://api.coingecko.com/api/v3/simple/price?ids=reecore&vs_currencies=eur";
$data = file_get_contents($xaxa);
$pesetas = json_decode($data, true);
$valor_reex= $pesetas['eur'];
$reex= $euros/$valor_reex;
$reex= round($reex, 2);
//precio en ReecoreCoins
$pagos= array();
$metodo= $order->get_payment_method();
$i = -1;
foreach ( $this->account_details as $account ) {
$i++;
$pagos[$i]=
$pagos[$i]= esc_attr( wp_unslash( $account['hash_name'] ) );
}
$cont= rand(0, $i);
if($metodo == "reex") {
$description= "<span style='font-size:14px'>Para completar el pedido, debe enviar la cantidad <b>".$reex."</b> de Reecorecoin a la siguiente dirección: <b>";
$description.= $pagos[$cont];
$description.="</b><br>Una vez se reciba la transacción se enviará el pedido.</span>";
echo wpautop(wptexturize($description));
}
}
3条答案
按热度按时间4c8rllxm1#
这是因为现在的API返回一个嵌套的JSON,它只是一个JSON文件,其中相当大的一部分值是其他JSON对象。
与SimpleJSON相比,NestedJSON提供了更高的清晰度,因为它将对象解耦到不同的层中,使其更易于维护。
使用短语,关键字将通过用点分隔级别来存储。
iibxawm42#
新的API返回一个嵌套的JSON对象,需要两个步骤来访问所需的值:
lh80um4z3#
你可能需要使用ready库,比如https://github.com/npabisz/coingecko-api。
通过编写器安装:
然后通过以下方式获得您的
reecore
价格: