如何在CodeIgniter视图控制器中显示来自CURL API Wordpress的结果

kcugc4gi  于 2022-12-07  发布在  WordPress
关注(0)|答案(2)|浏览(107)

我想通过此链接从WordPress检索一些数据
您可以使用以下命令
我已经在控制器中创建了一个类似这样的函数,当我执行var_dump命令时,它运行良好

$url = 'https://sumbermulyo-jombang.desa.id/wp-json/wp/v2/posts?_embed';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($curl);
curl_close($curl);
$hasil = json_decode($response);
$data['posts'] = $hasil;
//var_dump(json_decode($response, true)); 

$this->load->view('layouts/dashboard/header');
$this->load->view('layouts/dashboard/sidebar');
$this->load->view('pages/dashboard/home',$data);
$this->load->view('layouts/dashboard/footer');

问题是,当我在视图中执行foreach时,我仍然不真正理解如何将控制器的结果显示到CodeIgniter视图,如下所示

<?php foreach($posts as $post) : ?>
 <tr>
  <td><?=$post['id']?></td>
  <td><?=$post['title']?></td>
  <td><?=$post['link']?></td>
 </tr>
<?php endforeach;?>

如果我在这里问的案例中有错误或有不清楚的地方,请让我更正并解释,谢谢帮助
编辑
真实的的问题是生成的JSON是一个嵌套的JSON,所以我将回答自己的问题,因为我已经有了解决方案。

monwx1rj

monwx1rj1#

试试这个

<?php foreach($posts as $post) : ?>
 <tr>
  <td><?=$post->id;?></td>
  <td><?=$post->title;?></td>
  <td><?=$post->link;?></td>
 </tr>
<?php endforeach;?>

如果结果在数组中为对象,你就把$post ['id']改为$post-〉id。

oyt4ldly

oyt4ldly2#

这是我几天前得到的解决方案

<?php
 $array = 0; 
 foreach($posts as $post) : 
?>
                           
<tr>
 <td><?php echo $posts[$array]['id'];?></td>
 <td><?php echo '<img src='.$posts[$array]['better_featured_image']['media_details']['sizes']['medium']['source_url'];'/>'?> </td>
 <td><?php echo $posts[$array]['title']['rendered'];?></td>
 <td><?php echo $posts[$array]['content']['rendered'];?></td>
 <td><a href="<?php echo $posts[$array]['link'];?>">Link</a></td>
</tr>

<?php
 $array++; 
 endforeach;
?>

一开始我没有意识到,也不熟悉如何调用和编写嵌套JSON的结果

相关问题