Diary #null 「Google Books APIs Shortcode」


Warning: implode(): Invalid arguments passed in /home/tsdata/iam4a.ml/public_html/Addons/gbookapi.shortcode.php on line 16

皆さんこんばんは。たてしきです。

今日の投稿でこんなものが出てきたのをご存知でしょうか。

確か最後のほうで、これの作り方を紹介するといってたので、紹介します。


この本の紹介は…。

実は一行だけで投稿に挿入できちゃいます。

[books isbn=9784041062722]

たったこれだけです。

他にも…。

[books isbn=4575519944]

[books isbn=4594077269]

Book Information

タイトル:
作者:
ISBN: 4594077269

pz-linkcard: Incorrect URL specification.(url=)
by Google Book APIs

と、Google ブックスに登録されている本ならこういったことができます。


実現に必要なもの

  • WordPressの環境
  • gbookapi.shortcode.php

だけです。

えっ、「二つ目のは何だ」だって?

それを今から説明しようと思います。


ソースコード

まずは、ソースコードからです。

となっております。

ここからは説明です。

最初のほう

Xdomain用にfile_cget_contents()を定義します。

このソースコードはblazechariot氏が考案したcURLタイプの関数なので、別として読み込んでいます。

関数定義等

関数を定義します。

extract(); でWPから入ってきたショートコードの引数を処理します。ISBNは $isbn に格納されます。

データ取得、整理

13行目でGoogle Books APIsへのアクセスを行い、JSONをオブジェクトに変換します。

14行目からはそれぞれのデータを格納しています。

ブログカードの挿入

(Pz-LinkCardを導入していない場合は、21行目、31行目をコメントアウトしてください。)

WP関数の do_shortcode();を使い、 $blogcard にブログカードのHTMLを格納します。

出力準備、実行

23行目~35行目でHTMLを組み上げています。

※このブログでは、booksというクラスのCSSを利用しています。実際に使用しているCSSのデザインは、こちらのものをお借りしました。

36行目で出力です。

ショートコードの登録

ショートコードに登録します。これで利用可能になりました。


実際の使い方

現在使用しているテーマのフォルダーの中にある「functions.php」に次の一行を追加します。

これで完成、お疲れさまでした。


今回のファイル

Githubに置いてあります。

または、こちらからファイル群をダウンロードできます。


今回は以上です。

もう眠い…。

それでは、また。

%d人のブロガーが「いいね」をつけました。