在Wordpress中显示来自api的数据 [英] Show Data from an api in wordpress
本文介绍了在Wordpress中显示来自api的数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个休息用的api,里面有药品和每种药品的信息.
I have an a rest api, it has medicines and information about each medicine.
api/v1/medicine/ 返回此
api/v1/medicine/ Returns this
{
"success": true,
"data": [
{
"medicineId": 12,
"medicineName": "Abacavir"
},
{
"medicineId": 10,
"medicineName": "Alclometasone"
},
{
"medicineId": 15,
"medicineName": " Alectinib"
},
{
"medicineId": 13,
"medicineName": "Amiloxate"
}
和 api/v1/medicine/ID 返回有关药物的信息
and api/v1/medicine/ID returns info about a medicine
{
"success": true,
"data": {
"medicineId": 16,
"medicineName": " Alendronic acid",
"medicineDescription": "Alendronic acid is a bisphosphonate that is used for the treatment of some forms of osteoperosis and Paget's disease . It functions by preventing resorption of bone ",
"sideEffects": "you may experience whilst taking alendronic acid are stomach pain, indigestion or acid reflux,flatulence or bloating, constipation or diarrhoea and muscle, joint or bone pain.",
"chemicalFormula": "C4H13NO7P2",
"indication": "Alendronic acid is indicated for the treatment and prevention of osteoporosis in men and postmenopausal women, treatment of glucocorticoid-induced osteoporosis, and Paget's disease of bone. However, alendronic acid is not indicated for use in pediatric populations or patients with a creatinine clearance <35mL/min.",
"associatedCondition": "Osteogenesis Imperfecta\r\nOsteoporosis\r\nOsteoporosis caused by glucocorticoid\r\nPaget's Disease",
"alternatives": [],
"categories": [
"Agents Causing Muscle Toxicity",
"Bone Density Conservation Agents",
"Bisphosphonates"
]
},
"message": "Successfully retrieved"
}
我想显示药品列表,当我单击药品时,它会显示一个弹出窗口,其中包含有关该药品的信息 WordPress内的所有内容
I want to show a list a medicines and when i click on a medicine, it shows a popup with the info about that medicine All of that inside wordpress
我尝试过
<?php
$age = file_get_contents('http://link/rest/v1/medicine/');
$array = json_decode($age, true);
$medicine_names = [];
foreach($array['data'] as $key=>$value)
{
echo ($value['medicineName']). '<br/>' ;
}
?>
列出哪些药物
有什么想法可以在wordpress中实现吗?
Any idea how i can achieve that in wordpress?
推荐答案
也许有帮助
function getData(string $route): array
{
return json_decode(file_get_contents($route), true);
}
$medicineInfo = [];
foreach(getData('http://148.251.195.245:8080/MediHelp/rest/v1/medicine/')['data'] as $medicine) {
$medicineInfo[$medicine['medicineId']] = getData(
sprintf('http://148.251.195.245:8080/MediHelp/rest/v1/medicine/%s', $medicine['medicineId'])
)['data'];
}
//for example
foreach($medicineInfo as $info): ?>
<a href="#popup-for-<?= $info['medicineId'] ?>"><?= $info['medicineId'] ?></a>
<!-- popup code -->
<div id="#popup-for-<?= $info['medicineId'] ?>"><!-- ...$info... --></div>
<?php endforeach ?>
或使用ajax将数据发送到弹出窗口
or use ajax for send data to popup
另一个例子
foreach(getData('http://148.251.195.245:8080/MediHelp/rest/v1/medicine/')['data'] as $medicine) {
$info = getData(
sprintf('http://148.251.195.245:8080/MediHelp/rest/v1/medicine/%s', $medicine['medicineId'])
)['data'];?>
<a href="#popup-for-<?= $info['medicineId'] ?>"><?= $info['medicineId'] ?></a>
<!-- popup code -->
<div id="#popup-for-<?= $info['medicineId'] ?>"><!-- ...$info... --></div>
<?php } ?>
这篇关于在Wordpress中显示来自api的数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文