在Wordpress中显示来自api的数据 [英] Show Data from an api in wordpress

查看:107
本文介绍了在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆