WordPress中rate字段无法显示,求排查原因及解决方法
无法输出汇率(rate)的原因及解决办法
问题原因
你的代码中直接返回了$result['result'],但从API返回的结构来看,result是一个关联数组,包含NPR(转换后金额)和rate(汇率)两个子字段。直接输出数组会被PHP自动转为字符串Array,导致无法显示正确的汇率数值。
API返回结构示例:
{"base": "AED", "amount": 1, "result": {"NPR": 35.56, "rate": 35.5597}, "ms": 5}
解决代码
修改代码,直接访问数组中的rate字段即可:
<?php // 创建汇率转换短代码 function currency_conversion_shortcode() { $url = "https://api.fastforex.io/convert?from=AED&to=NPR&amount=1&api_key=xxxxx-xxxx-xxxxx";// 已刻意添加API密钥 $result = file_get_contents($url); $result = json_decode($result, true); // 确保rate字段存在后再输出,避免报错 if (isset($result['result']['rate'])) { return $result['result']['rate'] . " NPR"; } else { return "无法获取汇率"; } } add_shortcode( 'currency_conversion', 'currency_conversion_shortcode' ); ?>
关键修改点
- 替换
$result['result']为$result['result']['rate'],直接提取汇率值 - 增加
isset()判断,防止API返回异常时出现PHP错误
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

