こんにちは!
Gem-oneの権蔵です。
先日お話させて頂いた wordpress twitter系カスタマイズ(twitpic編)で、プラグインのお話をしましたね。
※まだ読んでない方は、こちらを読んでから、この記事読んでください※
【wordpress】twitter系カスタマイズ (twitpic編)
あれだけ話しておいて、ソースなしってのは、ちょっとと思いまして・・(笑)
twitpicを使ったwordpressのプラグイン作成サンプルソースを今回は紹介します。
非常に簡単なサンプルを作成しましたので、是非ご利用くださいませ♪
完全に何も考えずなコードです。
シンプルいずべすと!
こっから、皆さんが色々な幅をもったプラグインを作れれば、もう大喜びです!
参考にしてくださいませ!
尚、このソースをプラグインで登録しますと、記事本文に
[twitthum/]
と””半角””でかくと、その記事に
な一覧が登場します。Twitpicのサムネイルです。Twitpicのどのユーザーのサムネイルを持ってくるかは、管理画面を用意しましたので、そちらで指定してみてくださいねん。
尚、このソースで少しカスタマイズするだけだと、ちょっとブログのオーバーヘッドが大きくなると思います。
どうせtwitpicへの画像投稿なんて1日に1本あるかないかかな?
それであれば、twitpicへのXMLリクエストも、1日1回でキャッシュしておいた方がよさげでしょうね。
お互いのためになると思います☆
<?php /* Plugin Name: twitpicの画像をサムネイル表示 Plugin URI: https://www.gem-one.com/ Description: twitpicの画像をサムネイルhtmlへ Version: 0.1 Author: gonzo/Gem-one Author URI: https://blog.gem-one.com/gonzo/ */ /* twitthumタグを定義**/ /* ブログ本文中に上記タグを入れるとプラグインが始動する*/ /* プラグインは gonzo_twitpicthum 関数から始まる*/ add_shortcode('twitthum', 'gonzo_twitpicthum'); /*この名前は、このブログの中で完全にユニークに!*/ /*[twutthum]プラグインの管理画面定義*/ /* gonzo_twitpicthum_admin_menuという管理画面を登録*/ add_action('admin_menu','gonzo_twitpicthum_admin_menu' );/*この名前は、このブログの中で完全にユニークに*/ /*プラグイン本体*/ function gonzo_twitpicthum( $atts, $content = null ) { $opt = get_option('gonzo_twitpicthum_plugin_value'); if ( $opt == null ) { return '<p style="color:#f00;background-color:#fff;">**error**</p>設定画面でユーザー名を設定してから実行してください'; } $target = "http://api.twitpic.com/2/users/show.xml?username=".$opt ; $xmldata= simplexml_load_file( $target ); $retcode = ''; foreach( $xmldata->images->image as $img ) { $short_id = $img->short_id; $retcode .= '<a class="gtpicthum_a" href="http://twitpic.com/'.$short_id. '" title="'.$img->message. '"><img class="gtpicthum_img" id="img'.$short_id.'" src="http://twitpic.com/show/mini/'.$short_id.'"/></a>'; } return $retcode; } /*管理画面本体*/ function gonzo_twitpicthum_admin_menu() { add_menu_page( 'TwitPic Thum管理' , //タイトル 'TwitPic Thum設定' , //設定画面表示名 'administrator' , //操作可能なユーザー 'gonzo_twitpicthum_admin_menu' , 'gonzo_twitpicthum_edit_setting' //管理画面の画面内容を定義した関数の定義 ); } /*管理画面に表示する情報*/ function gonzo_twitpicthum_edit_setting() { $v = ''; $mes = ''; if (isset( $_POST['twitpicthum'])) { /*$_POST['twitpictjum']は当該プラグインが設定情報として使用するクエリ*/ /*このクエリでもらったものを gonzo_twitpicthum_plugin_value としてDB登録。*/ /*このthenの中は、設定画面で、設定情報を「登録」とボタンが押された時呼ばれます*/ update_option('gonzo_twitpicthum_plugin_value' , $_POST['twitpicthum']); $v = $_POST['twitpicthum']; $mes = $v .'に設定いたしました'; } else { /*単純に設定画面が呼ばれた時、呼ばれます*/ $v = get_option( 'gonzo_twitpicthum_plugin_value' ); /*すでに登録されているプラグイン情報を取得*/ } /*設定情報を元に画面を形成*/ echo <<<EOD <div> <h2>Twitpic Thumnail powered by Gem-one</h2> <p>{$mes}</p> <form action="" method="post"> <p>Twitpic ユーザ名<input type="text" name='twitpicthum' value="{$v}"/></p> <p><input type="submit" value="登録"/></p> </div> EOD; } ?>