【wordpress】twitter系カスタマイズ (twitpic wordpressプラグインサンプル編)

  • 2013.02.01
  • IT
NO IMAGE

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

ITカテゴリの最新記事