こんにちは!
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;
}
?>