0

我是使用 php 编码和使用 Google Books API 的新手。由于 Google Books API 每天有 1000 个请求限制,我只是在启用计费之前确保我的代码不笨拙。以下是我目前如何让书籍封面图像与我的 WordPress 帖子一起显示:

<?php
  $url = get_post_meta($post->ID, 'URL', true);
  if($url != '') { echo "<a href='$url' target='_blank'>"; } ?>
  <div class="book-cover">
    <?php
      $isbn = get_post_meta($post->ID, 'ISBN', true);
      $page = file_get_contents("https://www.googleapis.com/books/v1/volumes?q=isbn:$isbn&key=xxxx");
      $data = json_decode($page, true);
      $cover = $data['items'][0]['volumeInfo']['imageLinks']['thumbnail']; 
       echo "<img src='$cover' />"; ?>
  </div><?php if($url != '') { echo "</a>"; }
?>

非常感谢您的帮助!

4

1 回答 1

1

根据我从您的代码中了解到的情况,您需要将书籍图像的 URL 打印在模板文件中。

理想情况下,这应该在插件中,或者至少在主题中的单独类/函数中。将演示代码 (HTML) 与逻辑混合并不是一个好习惯。

关于 API 的请求数量,除非您的访问者数量非常少,否则您应该将您从 API 获取的数据保存在本地,这样您就不会为了获取相同的数据而多次请求。

由于您是从 PHP 开始的,因此您可能想要寻找类似的插件并研究它们的代码。

于 2014-04-24T17:54:35.560 回答