dqiz20794 2014-04-24 15:39
浏览 73
已采纳

使用Google Books API的最有效方法

I am new to coding with php and using the Google Books API. Since there is a 1000 request limit per day for the Google Books API, I am just making sure my code is not clunky before I enabling billing. Below is how I am currently getting the book cover image to display with my WordPress posts:

<?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>"; }
?>

Thank you very much for any assistance!

  • 写回答

1条回答 默认 最新

  • dsn46282 2014-04-24 17:54
    关注

    From what I understand from your code, you need the URL of a book image to print in a template file.

    Ideally this should be in a plugin, or at the very least in a separate class / function in your theme. Mixing presentation code (HTML) with logic isn't a good practice.

    Regarding the number of requests to the API, unless you have a very small number of visitors, you should save data that you get from the API locally so you don't make multiple requests to get the same data.

    Since you're starting with PHP you might want to look for similar plugins and study their code.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示