SlideShare une entreprise Scribd logo
1  sur  100
WordPressプラグイン作成入門
∼とりあえず「出来そう!」「簡単そう!」って思ってもらいたい∼
はじめに

‣   本資料は、WordPress のプラグイン作成の基本を解説して
    います。エンジニア寄りの解説ですが、デザイナーさんにも
    読んで頂ける内容かと思います。

‣   セッション内容の出典は WordBench 神戸の元管理人
    @horike37 さんです。ご本人に確認して本セッションでの
    利用の許可いただきました。

‣   僕自身は、@horike37 さんのセッションでWordPress に
    感動し、WordPress の活用に目覚めた人でございます。本
    セッションでも、その感動を共有できたらと思っています。
自己紹介

‣   ノジマユウジ                ‣   システム開発、
    @yuka2py                  グラフィックデザイン、
                              DTPや印刷なども
‣   株式会社フォーエンキー
    代表                    ‣   最近はiPhone/Android
                              のアプリ開発とかスマホ
‣   PythonとJavascriptが大       系のWebとか、WinDTア
    好き(Dartに興味深々)             プリなど作っています
‣   おしゃれも大好き☆             ‣   リボンやお花が好き☆
自己紹介

‣   ノジマユウジ                ‣   システム開発、
    @yuka2py                  グラフィックデザイン、
                              DTPや印刷なども
‣   株式会社フォーエンキー
          絶賛
    代表   お仕事募             ‣   最近はiPhone/Android
            集中
                              のアプリ開発とかスマホ
‣   PythonとJavascriptが大       系のWebとか、WinDTア
    好き(Dartに興味深々)             プリなど作っています
‣   おしゃれも大好き☆             ‣   リボンやお花が好き☆
最近のボク
                            Python
                      Design  1%
 お嫁                       15%
 Windows(C#)      iOS                お嫁
 Web(PHP/JS)
                   4%
 Android
                Android              40%
 iOS
 Design
                 10%
 Python
                Web(PHP/JS)
                   10%
                       Windows(C#)
2012年11月2日
株式会社フォーエンキー調べ               20%
WordPressのインストール
…は、出来てる前提です (*́ `*)テヘ♪




                  Σ(゚Д゚;)
こちらで丁寧に解説されてますよ♪


http://wpdocs.sourceforge.jp/WordPress のインストール
WordPressのプラグインとは?
WPの動作の大まかな理解

     初期化
WPの動作の大まかな理解

       初期化



 URLに対応するデータが検索される
WPの動作の大まかな理解

       初期化



 URLに対応するデータが検索される



URLに対応するテンプレートが開かれる
WPの動作の大まかな理解

       初期化



 URLに対応するデータが検索される



URLに対応するテンプレートが開かれる



      レスポンス
WPの動作の大まかな理解
                      割り込み

       初期化
                      フ ク
                       ッ


 URLに対応するデータが検索される    フ ク
                       ッ



URLに対応するテンプレートが開かれる   フ ク
                       ッ



                      フ ク
                       ッ
      レスポンス
WPの動作の大まかな理解
                      割り込み

       初期化
                      フ ク
                       ッ


 URLに対応するデータが検索される    フ ク
                       ッ



URLに対応するテンプレートが開かれる   フ ク
                       ッ



                      フ ク
                       ッ
      レスポンス
WPの動作の大まかな理解
                      割り込み
              これ!!
       初期化
                      フ ク
                       ッ


 URLに対応するデータが検索される    フ ク
                       ッ



URLに対応するテンプレートが開かれる   フ ク
                       ッ



                      フ ク
                       ッ
      レスポンス
WPのプラグインとは?


 「フック」を利用して、
WordPressに様々な機能を
     追加するもの
どんなプラグインを作る?
顔文字チェンジャー
顔文字チェンジャー

‣ WordPressの投稿の本文に、表示前にアクセス。
顔文字チェンジャー

‣ WordPressの投稿の本文に、表示前にアクセス。

‣ 本文中の「。」を顔文字に変換して表示する。
顔文字チェンジャー

‣ WordPressの投稿の本文に、表示前にアクセス。

‣ 本文中の「。」を顔文字に変換して表示する。




 。           (´・ω・`)
プラグイン作成の準備
プラグインファイルの作成

‣ WPのプラグインディレクトリに、
        任意の名前のディレクトリを作成
‣ 作成したディレクトリ内に、
        任意の名前のPHPファイルを作成



/wp-content/plugins/moji-changer/moji-changer.php
プラグインファイルの作成

‣ WPのプラグインディレクトリに、
        任意の名前のディレクトリを作成
‣ 作成したディレクトリ内に、
        任意の名前のPHPファイルを作成



/wp-content/plugins/moji-changer/moji-changer.php

  プラグインディレクトリ
プラグインファイルの作成

‣ WPのプラグインディレクトリに、
        任意の名前のディレクトリを作成
‣ 作成したディレクトリ内に、
        任意の名前のPHPファイルを作成



/wp-content/plugins/moji-changer/moji-changer.php

  プラグインディレクトリ       任意のディレクトリ

                        作成
プラグインファイルの作成

‣ WPのプラグインディレクトリに、
        任意の名前のディレクトリを作成
‣ 作成したディレクトリ内に、
        任意の名前のPHPファイルを作成



/wp-content/plugins/moji-changer/moji-changer.php

  プラグインディレクトリ       任意のディレクトリ      任意のPHPファイル

                        作成              作成
プラグインファイルの作成

‣ WPのプラグインディレクトリに、
        任意の名前のディレクトリを作成
‣ 作成したディレクトリ内に、
        任意の名前のPHPファイルを作成

                  この例では一緒にしてますが、全然違う名前でもOK!


/wp-content/plugins/moji-changer/moji-changer.php

  プラグインディレクトリ       任意のディレクトリ      任意のPHPファイル

                        作成              作成
メタデータを記述する

‣ moji-changer.php
           を開いて、以下のように、
 プラグインのメタ情報を記述する
 <?php
 /*
 Plugin Name: 顔文字チェンジャー
 Plugin URI: http://foreinkey.jp/
 Description: 投稿本文中の「。」を顔文字に変換するおもろプラグイン♪
 Author: yuka2py
 Version: 1.0.0
 Author URI: http://foreinkey.jp/
 */
メタデータを記述する

‣ moji-changer.php
           を開いて、以下のように、
 プラグインのメタ情報を記述する
                              WPはこの
 <?php                       メタ情報でプ
 /*                          ラグインを認
                               識する
 Plugin Name: 顔文字チェンジャー
 Plugin URI: http://foreinkey.jp/
 Description: 投稿本文中の「。」を顔文字に変換するおもろプラグイン♪
 Author: yuka2py
 Version: 1.0.0
 Author URI: http://foreinkey.jp/
 */
 以上。



       Σ(゚Д゚;)
これだけで...
(*-`д-;)
ス スゲェ…




 WPから
プラグインが
認識される!
(*-`д-;)
ス スゲェ…




 WPから
プラグインが
認識される!



  でもまだ
 何もしない
投稿の本文テキストを加工する
   ∼フィルターフックの利用∼



                     WPの
                   カスタマイズ
                   はフックから
フックを追加

‣ moji-changer.php      に以下のコードを追加する


add_filter('the_content', 'moji_changer_content_filter');



function moji_changer_content_filter($content) {

    return str_replace('。', '(́・ω・`)', $content);

}
フックを追加

‣ moji-changer.php       に以下のコードを追加する


add_filter('the_content', 'moji_changer_content_filter');
    フィルター
    フックの
    登録関数

function moji_changer_content_filter($content) {

     return str_replace('。', '(́・ω・`)', $content);

}
フックを追加

‣ moji-changer.php       に以下のコードを追加する


add_filter('the_content', 'moji_changer_content_filter');
    フィルター      【フック名】
    フックの     投稿本文の出力前の
    登録関数      フィルターフック

function moji_changer_content_filter($content) {

     return str_replace('。', '(́・ω・`)', $content);

}
フックを追加

‣ moji-changer.php       に以下のコードを追加する


add_filter('the_content', 'moji_changer_content_filter');
    フィルター      【フック名】
    フックの     投稿本文の出力前の                  実行したい関数を定義して
    登録関数      フィルターフック                  フックに関数名を指定する

function moji_changer_content_filter($content) {

     return str_replace('。', '(́・ω・`)', $content);

}
フックを追加

‣ moji-changer.php       に以下のコードを追加する


add_filter('the_content', 'moji_changer_content_filter');
    フィルター      【フック名】
    フックの     投稿本文の出力前の                  実行したい関数を定義して
    登録関数      フィルターフック                  フックに関数名を指定する

function moji_changer_content_filter($content) {
                                                     投稿本文
                                                     の文字列
     return str_replace('。', '(́・ω・`)', $content);

}
フックを追加

‣ moji-changer.php       に以下のコードを追加する


add_filter('the_content', 'moji_changer_content_filter');
    フィルター      【フック名】
    フックの     投稿本文の出力前の                  実行したい関数を定義して
    登録関数      フィルターフック                  フックに関数名を指定する

function moji_changer_content_filter($content) {
                                                     投稿本文
                                                     の文字列
     return str_replace('。', '(́・ω・`)', $content);
               投稿本文 $content に必要な処理を行って返す
}
 以上。



       Σ(゚Д゚;)
試してみます




有効化
する
変わった!!
 d(*・` ・
APIを確認するには?
∼エンジニアだったら気になるその確認方法∼
まずはCodexで検索
ソースコードを読む




  the_contentフックの引数を確認
ソースコードを読む
                          良くも悪
                          くもWPの
                         ソースコード
                         は読み易い




  the_contentフックの引数を確認
設定画面を追加する
∼アクションフィルタの利用∼
管理画面にメニューを追加する

‣ moji-changer.php         に以下のコードを追加する

      add_action('admin_menu', 'moji_changer_admin_menu');

      function moji_changer_admin_menu() {
         add_menu_page(
            '顔文字チェンジャー', //HTMLのページタイトル
            '顔文字チェンジャー設定', //管理画面メニューの表示名
            'administrator', //この機能を利用できるユーザー
            'moji_changer_admin_menu', //urlに入る名前
            'moji_changer_edit_setting' //機能を提供する関数
         );
      }

      function moji_changer_edit_setting() {
         echo "設定画面をここに書くよ!";
      }
add_action('admin_menu', 'moji_changer_admin_menu');

function moji_changer_admin_menu() {
  add_menu_page(
     '顔文字チェンジャー', //HTMLのページタイトル
     '顔文字チェンジャー設定', //管理画面メニューの表示名
     'administrator', //この機能を利用できるユーザー
     'moji_changer_admin_menu', //urlに入る名前
     'moji_changer_edit_setting' //機能を提供する関数
  );
}

function moji_changer_edit_setting() {
   echo "設定画面をここに書くよ!";
}
add_action('admin_menu', 'moji_changer_admin_menu');
管理画面にメニューページを追加するフィルターフック

function moji_changer_admin_menu() {
  add_menu_page(
     '顔文字チェンジャー', //HTMLのページタイトル
     '顔文字チェンジャー設定', //管理画面メニューの表示名
     'administrator', //この機能を利用できるユーザー
     'moji_changer_admin_menu', //urlに入る名前
     'moji_changer_edit_setting' //機能を提供する関数
  );
}

function moji_changer_edit_setting() {
   echo "設定画面をここに書くよ!";
}
add_action('admin_menu', 'moji_changer_admin_menu');
管理画面にメニューページを追加するフィルターフック

function moji_changer_admin_menu() {
  add_menu_page( 投稿本文の出力前のフィルターフック名
     '顔文字チェンジャー', //HTMLのページタイトル
     '顔文字チェンジャー設定', //管理画面メニューの表示名
     'administrator', //この機能を利用できるユーザー
     'moji_changer_admin_menu', //urlに入る名前
     'moji_changer_edit_setting' //機能を提供する関数
  );
}

function moji_changer_edit_setting() {
   echo "設定画面をここに書くよ!";
}
add_action('admin_menu', 'moji_changer_admin_menu');
管理画面にメニューページを追加するフィルターフック

function moji_changer_admin_menu() {
  add_menu_page( 投稿本文の出力前のフィルターフック名
     '顔文字チェンジャー', //HTMLのページタイトル
     '顔文字チェンジャー設定', //管理画面メニューの表示名
     'administrator', //この機能を利用できるユーザー
     'moji_changer_admin_menu', //urlに入る名前
     'moji_changer_edit_setting' //機能を提供する関数
                                    add_menu_page のオプション
  );
}

function moji_changer_edit_setting() {
   echo "設定画面をここに書くよ!";
}
add_action('admin_menu', 'moji_changer_admin_menu');
管理画面にメニューページを追加するフィルターフック

function moji_changer_admin_menu() {
  add_menu_page( 投稿本文の出力前のフィルターフック名
     '顔文字チェンジャー', //HTMLのページタイトル
     '顔文字チェンジャー設定', //管理画面メニューの表示名
     'administrator', //この機能を利用できるユーザー
     'moji_changer_admin_menu', //urlに入る名前
     'moji_changer_edit_setting' //機能を提供する関数
                                    add_menu_page のオプション
  );
                         実行したい関数を定義して
}                        指定する


function moji_changer_edit_setting() {
   echo "設定画面をここに書くよ!";
}
 以上。



       Σ(゚Д゚;)
これだけで...
管理画面に
メニューが
追加され
管理画面に
 メニューが
 追加され




クリックすると...
管理画面に
 メニューが
 追加され




         個別の設定
         画面が開く

クリックすると...
管理画面に
 メニューが
 追加され




           個別の設定
           画面が開く

クリックすると...




  moji_changer_edit_setting()
         関数内での出力
管理画面に
 メニューが
 追加され



                             add_menu_page()の
           個別の設定
                            第4引数で指定した文字列
           画面が開く

クリックすると...




  moji_changer_edit_setting()
         関数内での出力
設定機能を実装する
∼データの永続化。Option API の利用∼
データを保存する

‣ moji_changer_edit_setting()                   関数を以下に変更

    function moji_changer_edit_setting() {
       if (isset($_POST['kaomoji'])) {
           update_option('kaomoji_changer_plugin_value', $_POST['kaomoji']);
       }
       $kaomoji = get_option('kaomoji_changer_plugin_value');
       echo <<<EOD
    <div>
       <h2>顔文字チェンジャー</h2>
       <form action="" method="post">
           <p><input type="text" name="kaomoji" value="{$kaomoji}" /></p>
           <p><input type="submit" value="登録" /></p>
       </form>
    </div>
    EOD;
    }
function moji_changer_edit_setting() {
    if (isset($_POST['kaomoji'])) {
        update_option('kaomoji_changer_plugin_value', $_POST['kaomoji']);
    }
    $kaomoji = get_option('kaomoji_changer_plugin_value');
    echo <<<EOD
<div>
    <h2>顔文字チェンジャー</h2>
    <form action="" method="post">
        <p><input type="text" name="kaomoji" value="{$kaomoji}" /></p>
        <p><input type="submit" value="登録" /></p>
    </form>
</div>
EOD;
}
function moji_changer_edit_setting() {
    if (isset($_POST['kaomoji'])) {
        update_option('kaomoji_changer_plugin_value', $_POST['kaomoji']);
    } $_POSTされてきたデータをオプションAPIで保存する
    $kaomoji = get_option('kaomoji_changer_plugin_value');
    echo <<<EOD
<div>
    <h2>顔文字チェンジャー</h2>
    <form action="" method="post">
        <p><input type="text" name="kaomoji" value="{$kaomoji}" /></p>
        <p><input type="submit" value="登録" /></p>
    </form>
</div>
EOD;
}
function moji_changer_edit_setting() {
    if (isset($_POST['kaomoji'])) {
        update_option('kaomoji_changer_plugin_value', $_POST['kaomoji']);
    } $_POSTされてきたデータをオプションAPIで保存する
    $kaomoji = get_option('kaomoji_changer_plugin_value');
    echo <<<EOD                       オプションAPIから値を取得する

<div>
    <h2>顔文字チェンジャー</h2>
    <form action="" method="post">
        <p><input type="text" name="kaomoji" value="{$kaomoji}" /></p>
        <p><input type="submit" value="登録" /></p>
    </form>
</div>
EOD;
}
function moji_changer_edit_setting() {
    if (isset($_POST['kaomoji'])) {
        update_option('kaomoji_changer_plugin_value', $_POST['kaomoji']);
    } $_POSTされてきたデータをオプションAPIで保存する
    $kaomoji = get_option('kaomoji_changer_plugin_value');
    echo <<<EOD                       オプションAPIから値を取得する

<div>
    <h2>顔文字チェンジャー</h2>
    <form action="" method="post">
        <p><input type="text" name="kaomoji" value="{$kaomoji}" /></p>
        <p><input type="submit" value="登録" /></p>
    </form>
</div>                                                  フォームの出力

EOD;
}
function moji_changer_edit_setting() {
    if (isset($_POST['kaomoji'])) {
        update_option('kaomoji_changer_plugin_value', $_POST['kaomoji']);
    } $_POSTされてきたデータをオプションAPIで保存する
    $kaomoji = get_option('kaomoji_changer_plugin_value');
    echo <<<EOD                       オプションAPIから値を取得する

<div>                                        【ポイント】
                                         formのactionを空にして
    <h2>顔文字チェンジャー</h2>                   同じ画面を呼び出している
    <form action="" method="post">
        <p><input type="text" name="kaomoji" value="{$kaomoji}" /></p>
        <p><input type="submit" value="登録" /></p>
    </form>
</div>                                                  フォームの出力

EOD;
}
保存したデータを利用する

‣ moji_changer_content_filter()          関数を以下に変更



function moji_changer_content_filter($content) {

    $kaomoji = get_option('kaomoji_changer_plugin_value');

    return str_replace('。', $kaomoji, $content);

}
保存したデータを利用する

‣ moji_changer_content_filter()          関数を以下に変更



function moji_changer_content_filter($content) {

    $kaomoji = get_option('kaomoji_changer_plugin_value');
                                       オプションAPIから値を取得する
    return str_replace('。', $kaomoji, $content);

}
保存したデータを利用する

‣ moji_changer_content_filter()          関数を以下に変更



function moji_changer_content_filter($content) {

    $kaomoji = get_option('kaomoji_changer_plugin_value');
                                       オプションAPIから値を取得する
    return str_replace('。', $kaomoji, $content);

}
 以上。



       Σ(゚Д゚;)
結果...
入力
フォーム
が表示
入力
フォーム
が表示




 値を
登録保存
できる
完成ー!!
        ヽ(*´∀`)/
まとめ
<?php


完成した
         /*
         Plugin Name: 顔文字チェンジャー
         Plugin URI: http://foreinkey.jp/
         Description: 投稿本文中の「。」を顔文字に変換するおもろプラグイン♪


プラグインの
         Author: yuka2py
         Version: 1.0.0
         Author URI: http://foreinkey.jp/
         */


ソースコード   add_filter('the_content', 'moji_changer_content_filter');

         function moji_changer_content_filter($content) {
               $kaomoji = get_option('kaomoji_changer_plugin_value');
               return str_replace('。', $kaomoji, $content);
         }

         add_action('admin_menu', 'moji_changer_admin_menu');

         function moji_changer_admin_menu() {
               add_menu_page(
                    '顔文字チェンジャー',
                    '顔文字チェンジャー設定',
                    'administrator',
                    'moji_changer_admin_menu',
                    'moji_changer_edit_setting'
               );
         }

         function moji_changer_edit_setting() {
           if (isset($_POST['kaomoji'])) {
               update_option('kaomoji_changer_plugin_value', $_POST['kaomoji']);
           }
           $kaomoji = get_option('kaomoji_changer_plugin_value');
           echo <<<EOD
         <div>
           <h2>顔文字チェンジャー</h2>
           <form action="" method="post">
               <p><input type="text" name="kaomoji" value="{$kaomoji}" /></p>
               <p><input type="submit" value="登録" /></p>
           </form>
         </div>
         EOD;
         }
<?php


完成した
         /*
         Plugin Name: 顔文字チェンジャー
         Plugin URI: http://foreinkey.jp/
         Description: 投稿本文中の「。」を顔文字に変換するおもろプラグイン♪


プラグインの
         Author: yuka2py
         Version: 1.0.0
         Author URI: http://foreinkey.jp/
         */
                                                    プラグインメタ情報

ソースコード   add_filter('the_content', 'moji_changer_content_filter');

         function moji_changer_content_filter($content) {
               $kaomoji = get_option('kaomoji_changer_plugin_value');
               return str_replace('。', $kaomoji, $content);
         }

         add_action('admin_menu', 'moji_changer_admin_menu');

         function moji_changer_admin_menu() {
               add_menu_page(
                    '顔文字チェンジャー',
                    '顔文字チェンジャー設定',
                    'administrator',
                    'moji_changer_admin_menu',
                    'moji_changer_edit_setting'
               );
         }

         function moji_changer_edit_setting() {
           if (isset($_POST['kaomoji'])) {
               update_option('kaomoji_changer_plugin_value', $_POST['kaomoji']);
           }
           $kaomoji = get_option('kaomoji_changer_plugin_value');
           echo <<<EOD
         <div>
           <h2>顔文字チェンジャー</h2>
           <form action="" method="post">
               <p><input type="text" name="kaomoji" value="{$kaomoji}" /></p>
               <p><input type="submit" value="登録" /></p>
           </form>
         </div>
         EOD;
         }
<?php


完成した
               /*
               Plugin Name: 顔文字チェンジャー
               Plugin URI: http://foreinkey.jp/
               Description: 投稿本文中の「。」を顔文字に変換するおもろプラグイン♪


プラグインの
               Author: yuka2py
               Version: 1.0.0
               Author URI: http://foreinkey.jp/
               */
                                                          プラグインメタ情報

ソースコード         add_filter('the_content', 'moji_changer_content_filter');

               function moji_changer_content_filter($content) {
                     $kaomoji = get_option('kaomoji_changer_plugin_value');
                     return str_replace('。', $kaomoji, $content);
  投稿の本文の加工処理   }

               add_action('admin_menu', 'moji_changer_admin_menu');

               function moji_changer_admin_menu() {
                     add_menu_page(
                          '顔文字チェンジャー',
                          '顔文字チェンジャー設定',
                          'administrator',
                          'moji_changer_admin_menu',
                          'moji_changer_edit_setting'
                     );
               }

               function moji_changer_edit_setting() {
                 if (isset($_POST['kaomoji'])) {
                     update_option('kaomoji_changer_plugin_value', $_POST['kaomoji']);
                 }
                 $kaomoji = get_option('kaomoji_changer_plugin_value');
                 echo <<<EOD
               <div>
                 <h2>顔文字チェンジャー</h2>
                 <form action="" method="post">
                     <p><input type="text" name="kaomoji" value="{$kaomoji}" /></p>
                     <p><input type="submit" value="登録" /></p>
                 </form>
               </div>
               EOD;
               }
<?php


完成した
               /*
               Plugin Name: 顔文字チェンジャー
               Plugin URI: http://foreinkey.jp/
               Description: 投稿本文中の「。」を顔文字に変換するおもろプラグイン♪


プラグインの
               Author: yuka2py
               Version: 1.0.0
               Author URI: http://foreinkey.jp/
               */
                                                          プラグインメタ情報

ソースコード         add_filter('the_content', 'moji_changer_content_filter');

               function moji_changer_content_filter($content) {
                     $kaomoji = get_option('kaomoji_changer_plugin_value');
                     return str_replace('。', $kaomoji, $content);
  投稿の本文の加工処理   }

               add_action('admin_menu', 'moji_changer_admin_menu');

               function moji_changer_admin_menu() {
                     add_menu_page(
                          '顔文字チェンジャー',
                          '顔文字チェンジャー設定',
                          'administrator',
                          'moji_changer_admin_menu',
                          'moji_changer_edit_setting'
      管理画面への         );
  メニューページの追加   }

               function moji_changer_edit_setting() {
                 if (isset($_POST['kaomoji'])) {
                     update_option('kaomoji_changer_plugin_value', $_POST['kaomoji']);
                 }
                 $kaomoji = get_option('kaomoji_changer_plugin_value');
                 echo <<<EOD
               <div>
                 <h2>顔文字チェンジャー</h2>
                 <form action="" method="post">
                     <p><input type="text" name="kaomoji" value="{$kaomoji}" /></p>
                     <p><input type="submit" value="登録" /></p>
                 </form>
               </div>
               EOD;
               }
<?php


完成した
               /*
               Plugin Name: 顔文字チェンジャー
               Plugin URI: http://foreinkey.jp/
               Description: 投稿本文中の「。」を顔文字に変換するおもろプラグイン♪


プラグインの
               Author: yuka2py
               Version: 1.0.0
               Author URI: http://foreinkey.jp/
               */
                                                          プラグインメタ情報

ソースコード         add_filter('the_content', 'moji_changer_content_filter');

               function moji_changer_content_filter($content) {
                     $kaomoji = get_option('kaomoji_changer_plugin_value');
                     return str_replace('。', $kaomoji, $content);
  投稿の本文の加工処理   }

               add_action('admin_menu', 'moji_changer_admin_menu');

               function moji_changer_admin_menu() {
                     add_menu_page(
                          '顔文字チェンジャー',
                          '顔文字チェンジャー設定',
                          'administrator',
                          'moji_changer_admin_menu',
                          'moji_changer_edit_setting'
      管理画面への         );
  メニューページの追加   }

               function moji_changer_edit_setting() {
                 if (isset($_POST['kaomoji'])) {
                     update_option('kaomoji_changer_plugin_value', $_POST['kaomoji']);
                 }
                 $kaomoji = get_option('kaomoji_changer_plugin_value');
                 echo <<<EOD
               <div>
                 <h2>顔文字チェンジャー</h2>
                 <form action="" method="post">
                     <p><input type="text" name="kaomoji" value="{$kaomoji}" /></p>
                     <p><input type="submit" value="登録" /></p>
                 </form>
  メニューページ関連の   </div>
       実際の処理   EOD;
               }
まとめ
まとめ

‣ WPプラグインは「フッ
ク」を使って開発する
●
    必要な関数をフック登録
まとめ

‣ WPプラグインは「フッ
 ク」を使って開発する
 ●
     必要な関数をフック登録

‣ WordPress
       の組込関数
 やオブジェクトを利用し
 て機能を実現する
 ●
     add_menu_page 関数
 ●
     Option API
まとめ

‣ WPプラグインは「フッ           ‣ フックやWP組み込み
 ク」を使って開発する             関数の使い方を除くと、
 ●
     必要な関数をフック登録        やっぱりただのPHP

‣ WordPress
       の組込関数                   大事!!
 やオブジェクトを利用し
 て機能を実現する
                        ●
                            フックや組み込み関数沢
                            山はたくさんあるけど、
 ●
     add_menu_page 関数       基本的な考え方は非常に
 ●
     Option API             シンプル
注意点・補足
‣   key/value ストアの        ‣   外部入力データは
    key名の重複を避ける               クオートされてます
    ●
        key名はテーマやプラグイン毎       ●
                                  WordPress が独自に
        に名前空間が分かれてはいない            magic_quotesする!
    ●
        一般にはプラグイン名のプリ         ●
                                  戻す関数があります。
        フィックスを付ける
                          ‣   Option API はプリミティブな
‣   他のプラグインやテーマの関数            値以外に、配列なども保存可能
    との重複を避ける
                          ‣   説明の簡単の為に、サンプル等
    ●
        一般にはプラグイン名のプリ
        フィックスを付ける             のコードは最低限のものですの
                              でご注意ください
エンジニア的な発展
∼キレイに書きたきゃ書けば良い∼
<?php
               /*
               Plugin Name: 文字チェンジャー
               Plugin URI: http://foreinkey.jp/


moji-changer.php
               Description: 投稿本文中の任意のテキストを任意のテキストに置換する
               Author: yuka2py
               Version: 1.0.0
               Author URI: http://foreinkey.jp/
               */

               define('MOJI_CHANGER','MOJI_CHANGER');

               add_filter('the_content', 'moji_changer_content_filter');
‣ 変換元文字も指定     add_action('admin_menu', 'moji_changer_admin_menu');

               function moji_changer_content_filter($content) {

できるようにした         $moji_changer_vars = get_option(MOJI_CHANGER);
                 if (!empty($moji_changer_vars['from'])) {
                     $content = str_replace(
                       $moji_changer_vars['from'],
 ●
     1つのキーに            $moji_changer_vars['to'],
                       $content);
                 }
     配列を保存して   }
                 return $content;


     みてました。    function moji_changer_admin_menu() {
                 add_menu_page(
                    '文字チェンジャー',
                    '文字チェンジャー設定',
                    'administrator',
‣ Viewを分離した         'moji_changer_admin_menu',
                    'moji_changer_edit_setting'
                 );
               }

               function moji_changer_edit_setting() {
                 if (isset($_POST['moji_changer_vars'])) {
                     update_option(MOJI_CHANGER, $_POST['moji_changer_vars']);
                 }
                 $moji_changer_vars = get_option(MOJI_CHANGER);
                 include 'setting.html.php';
               }
setting.html.php

‣ WP管理画面の
             <div class="wrap">
                <?php screen_icon('edit'); ?>
                <h2>文字チェンジャー</h2>

CSSクラス等を
                <p>記事本文中の任意の文字を、別の文字に変換するプラグインです。<br />
                   「置き換えする文字」を空欄にすると、置換処理は行われません。</p>
                <form action="" method="post">

適用して、管理画面          <table class="form-table">
                      <tr>
                         <th><label for="moji_changer_vars[from]">置き換えする文字</

らしくしてみた      label></th>
                         <td><input id="moji_changer_vars[from]" type="text"
                            name="moji_changer_vars[from]"
                            value="<?php echo isset($moji_changer_vars['from'])
                              ? $moji_changer_vars['from'] : '' ?>" /></td>
                      </tr>
                      <tr>
                         <th><label for="moji_changer_vars[to]">置き換える文字</label></th>
                         <td><input id="moji_changer_vars[to]" type="text"
                            name="moji_changer_vars[to]"
                            value="<?php echo isset($moji_changer_vars['to'])
                              ? $moji_changer_vars['to'] : '' ?>" /></td>
                      </tr>
                   </table>
                   <p><input type="submit" class="button-primary" value="登録" /></p>
                </form>
             </div>
もし良かったら遊んでください♪


 @yuka2py
 https://twitter.com/yuka2py

 http://www.facebook.com/yuka2py

 http://gplus.to/yuka2py
                               (´∀`〃)ゝキャハ
ご静聴、ありがとうございました!
この文書は クリエイティブ・コモンズ 表示 - 継承 2.1 日本 ライセンスの下に提供されています。

Contenu connexe

En vedette

EC-CUBEプラグイン講義
EC-CUBEプラグイン講義EC-CUBEプラグイン講義
EC-CUBEプラグイン講義ria1201
 
WordPressで作るポートフォリオサイト
WordPressで作るポートフォリオサイトWordPressで作るポートフォリオサイト
WordPressで作るポートフォリオサイトTakuma Nishiyama
 
WordPress を使いこなそう
WordPress を使いこなそうWordPress を使いこなそう
WordPress を使いこなそうWataru OKAMOTO
 
スマホデザインパターン なう
スマホデザインパターン なうスマホデザインパターン なう
スマホデザインパターン なうAndroid UI勉強会
 
.htaccessによるリダイレクト徹底解説
.htaccessによるリダイレクト徹底解説.htaccessによるリダイレクト徹底解説
.htaccessによるリダイレクト徹底解説Cherry Pie Web
 
最近のブラウザ状況
最近のブラウザ状況最近のブラウザ状況
最近のブラウザ状況yoshikawa_t
 
Photoshopで効率よくデザインしよう!
Photoshopで効率よくデザインしよう!Photoshopで効率よくデザインしよう!
Photoshopで効率よくデザインしよう!Marie Suenaga
 
サーバ運用の現場でひたすら監視し続けるエンジニアの手の内のすべて
サーバ運用の現場でひたすら監視し続けるエンジニアの手の内のすべてサーバ運用の現場でひたすら監視し続けるエンジニアの手の内のすべて
サーバ運用の現場でひたすら監視し続けるエンジニアの手の内のすべてMasahito Zembutsu
 
エンジニアが知っておくべきSSL/TLSの知識(仮)
エンジニアが知っておくべきSSL/TLSの知識(仮)エンジニアが知っておくべきSSL/TLSの知識(仮)
エンジニアが知っておくべきSSL/TLSの知識(仮)Masahiro NAKAYAMA
 
Illustratorのカンプとうまく付き合う方法
Illustratorのカンプとうまく付き合う方法Illustratorのカンプとうまく付き合う方法
Illustratorのカンプとうまく付き合う方法Takuya Nishitani
 
レスポンシブ・ウェブデザイン基礎
レスポンシブ・ウェブデザイン基礎レスポンシブ・ウェブデザイン基礎
レスポンシブ・ウェブデザイン基礎masaaki komori
 
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみようJunko Nukaga
 
初心者向けMySQLの始め方
初心者向けMySQLの始め方初心者向けMySQLの始め方
初心者向けMySQLの始め方Masahiro Tomita
 
HTML5時代のWebデザイン
HTML5時代のWebデザインHTML5時代のWebデザイン
HTML5時代のWebデザインmasaaki komori
 
いまさら聞けないAWSクラウド - Java Festa 2013
いまさら聞けないAWSクラウド - Java Festa 2013いまさら聞けないAWSクラウド - Java Festa 2013
いまさら聞けないAWSクラウド - Java Festa 2013SORACOM, INC
 
LPデザインに関して〜作成のセオリーとコツ〜
LPデザインに関して〜作成のセオリーとコツ〜LPデザインに関して〜作成のセオリーとコツ〜
LPデザインに関して〜作成のセオリーとコツ〜典子 松本
 
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!Yuji Nojima
 
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2Nishida Kansuke
 

En vedette (20)

EC-CUBEプラグイン講義
EC-CUBEプラグイン講義EC-CUBEプラグイン講義
EC-CUBEプラグイン講義
 
WordPressで作るポートフォリオサイト
WordPressで作るポートフォリオサイトWordPressで作るポートフォリオサイト
WordPressで作るポートフォリオサイト
 
WordPress を使いこなそう
WordPress を使いこなそうWordPress を使いこなそう
WordPress を使いこなそう
 
スマホデザインパターン なう
スマホデザインパターン なうスマホデザインパターン なう
スマホデザインパターン なう
 
.htaccessによるリダイレクト徹底解説
.htaccessによるリダイレクト徹底解説.htaccessによるリダイレクト徹底解説
.htaccessによるリダイレクト徹底解説
 
最近のブラウザ状況
最近のブラウザ状況最近のブラウザ状況
最近のブラウザ状況
 
Photoshopで効率よくデザインしよう!
Photoshopで効率よくデザインしよう!Photoshopで効率よくデザインしよう!
Photoshopで効率よくデザインしよう!
 
サーバ運用の現場でひたすら監視し続けるエンジニアの手の内のすべて
サーバ運用の現場でひたすら監視し続けるエンジニアの手の内のすべてサーバ運用の現場でひたすら監視し続けるエンジニアの手の内のすべて
サーバ運用の現場でひたすら監視し続けるエンジニアの手の内のすべて
 
エンジニアが知っておくべきSSL/TLSの知識(仮)
エンジニアが知っておくべきSSL/TLSの知識(仮)エンジニアが知っておくべきSSL/TLSの知識(仮)
エンジニアが知っておくべきSSL/TLSの知識(仮)
 
Illustratorのカンプとうまく付き合う方法
Illustratorのカンプとうまく付き合う方法Illustratorのカンプとうまく付き合う方法
Illustratorのカンプとうまく付き合う方法
 
レスポンシブ・ウェブデザイン基礎
レスポンシブ・ウェブデザイン基礎レスポンシブ・ウェブデザイン基礎
レスポンシブ・ウェブデザイン基礎
 
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
 
DNS再入門
DNS再入門DNS再入門
DNS再入門
 
初心者向けMySQLの始め方
初心者向けMySQLの始め方初心者向けMySQLの始め方
初心者向けMySQLの始め方
 
HTML5時代のWebデザイン
HTML5時代のWebデザインHTML5時代のWebデザイン
HTML5時代のWebデザイン
 
いまさら聞けないAWSクラウド - Java Festa 2013
いまさら聞けないAWSクラウド - Java Festa 2013いまさら聞けないAWSクラウド - Java Festa 2013
いまさら聞けないAWSクラウド - Java Festa 2013
 
LPデザインに関して〜作成のセオリーとコツ〜
LPデザインに関して〜作成のセオリーとコツ〜LPデザインに関して〜作成のセオリーとコツ〜
LPデザインに関して〜作成のセオリーとコツ〜
 
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!
 
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2
 
SEOに効くコンテンツの作り方 ver1.1
SEOに効くコンテンツの作り方 ver1.1SEOに効くコンテンツの作り方 ver1.1
SEOに効くコンテンツの作り方 ver1.1
 

Similaire à WordPressプラグイン作成入門

WordBeachDeathMarchWorkshop
WordBeachDeathMarchWorkshopWordBeachDeathMarchWorkshop
WordBeachDeathMarchWorkshoptakashi ono
 
101210 supreme web adobe seminar Nagoya
101210 supreme web adobe seminar Nagoya101210 supreme web adobe seminar Nagoya
101210 supreme web adobe seminar Nagoyatamotsu toyoda
 
WordPressで投稿記事情報の取得方法
WordPressで投稿記事情報の取得方法WordPressで投稿記事情報の取得方法
WordPressで投稿記事情報の取得方法regret raym
 
20091030cakephphandson 01
20091030cakephphandson 0120091030cakephphandson 01
20091030cakephphandson 01Yusuke Ando
 
Ec cube開発合宿 プラグインセミナー
Ec cube開発合宿 プラグインセミナーEc cube開発合宿 プラグインセミナー
Ec cube開発合宿 プラグインセミナーAyumu Kawaguchi
 
WordPress実践 導入からカスタマイズまで
WordPress実践 導入からカスタマイズまでWordPress実践 導入からカスタマイズまで
WordPress実践 導入からカスタマイズまでTakashi Uemura
 
愛と涙のWordPress無理やりカスタマイズ事例集
愛と涙のWordPress無理やりカスタマイズ事例集愛と涙のWordPress無理やりカスタマイズ事例集
愛と涙のWordPress無理やりカスタマイズ事例集Hidekazu Ishikawa
 
WordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニック
WordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニックWordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニック
WordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニックTakashi Uemura
 
Word press 3.5RC2 - パーフェクト functions.php -
Word press 3.5RC2   - パーフェクト functions.php - Word press 3.5RC2   - パーフェクト functions.php -
Word press 3.5RC2 - パーフェクト functions.php - BREN
 
2014/03/29 WordBench TOKYO
2014/03/29 WordBench TOKYO2014/03/29 WordBench TOKYO
2014/03/29 WordBench TOKYOTakashi Kitamura
 
テンプレートエンジンって何?
テンプレートエンジンって何?テンプレートエンジンって何?
テンプレートエンジンって何?Shoichi Takahashi
 
ゼロからつくるWord pressテーマ第6回
ゼロからつくるWord pressテーマ第6回ゼロからつくるWord pressテーマ第6回
ゼロからつくるWord pressテーマ第6回Hitsuji
 
Facebook対応と大規模サイト移転のトライ&エラー
Facebook対応と大規模サイト移転のトライ&エラーFacebook対応と大規模サイト移転のトライ&エラー
Facebook対応と大規模サイト移転のトライ&エラーGaryuten
 
Mizuno buddypress-plugin
Mizuno buddypress-pluginMizuno buddypress-plugin
Mizuno buddypress-pluginIkuko Kanada
 
Mizuno buddypress-plugin
Mizuno buddypress-pluginMizuno buddypress-plugin
Mizuno buddypress-pluginFumito Mizuno
 
はじめてのCodeIgniter
はじめてのCodeIgniterはじめてのCodeIgniter
はじめてのCodeIgniterYuya Matsushima
 
第21回Creators MeetUp
第21回Creators MeetUp第21回Creators MeetUp
第21回Creators MeetUpKenichi Mukai
 

Similaire à WordPressプラグイン作成入門 (20)

Php+Word Press
Php+Word PressPhp+Word Press
Php+Word Press
 
WordBeachDeathMarchWorkshop
WordBeachDeathMarchWorkshopWordBeachDeathMarchWorkshop
WordBeachDeathMarchWorkshop
 
101210 supreme web adobe seminar Nagoya
101210 supreme web adobe seminar Nagoya101210 supreme web adobe seminar Nagoya
101210 supreme web adobe seminar Nagoya
 
WordPressで投稿記事情報の取得方法
WordPressで投稿記事情報の取得方法WordPressで投稿記事情報の取得方法
WordPressで投稿記事情報の取得方法
 
20091030cakephphandson 01
20091030cakephphandson 0120091030cakephphandson 01
20091030cakephphandson 01
 
Ec cube開発合宿 プラグインセミナー
Ec cube開発合宿 プラグインセミナーEc cube開発合宿 プラグインセミナー
Ec cube開発合宿 プラグインセミナー
 
WordPress実践 導入からカスタマイズまで
WordPress実践 導入からカスタマイズまでWordPress実践 導入からカスタマイズまで
WordPress実践 導入からカスタマイズまで
 
WordPress と Bootstrap
WordPress と BootstrapWordPress と Bootstrap
WordPress と Bootstrap
 
愛と涙のWordPress無理やりカスタマイズ事例集
愛と涙のWordPress無理やりカスタマイズ事例集愛と涙のWordPress無理やりカスタマイズ事例集
愛と涙のWordPress無理やりカスタマイズ事例集
 
WordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニック
WordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニックWordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニック
WordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニック
 
Word press 3.5RC2 - パーフェクト functions.php -
Word press 3.5RC2   - パーフェクト functions.php - Word press 3.5RC2   - パーフェクト functions.php -
Word press 3.5RC2 - パーフェクト functions.php -
 
2014/03/29 WordBench TOKYO
2014/03/29 WordBench TOKYO2014/03/29 WordBench TOKYO
2014/03/29 WordBench TOKYO
 
テンプレートエンジンって何?
テンプレートエンジンって何?テンプレートエンジンって何?
テンプレートエンジンって何?
 
ゼロからつくるWord pressテーマ第6回
ゼロからつくるWord pressテーマ第6回ゼロからつくるWord pressテーマ第6回
ゼロからつくるWord pressテーマ第6回
 
Wp html5
Wp html5Wp html5
Wp html5
 
Facebook対応と大規模サイト移転のトライ&エラー
Facebook対応と大規模サイト移転のトライ&エラーFacebook対応と大規模サイト移転のトライ&エラー
Facebook対応と大規模サイト移転のトライ&エラー
 
Mizuno buddypress-plugin
Mizuno buddypress-pluginMizuno buddypress-plugin
Mizuno buddypress-plugin
 
Mizuno buddypress-plugin
Mizuno buddypress-pluginMizuno buddypress-plugin
Mizuno buddypress-plugin
 
はじめてのCodeIgniter
はじめてのCodeIgniterはじめてのCodeIgniter
はじめてのCodeIgniter
 
第21回Creators MeetUp
第21回Creators MeetUp第21回Creators MeetUp
第21回Creators MeetUp
 

Plus de Yuji Nojima

今日から使える! Sass/compass ゆるめ勉強会
今日から使える! Sass/compass ゆるめ勉強会今日から使える! Sass/compass ゆるめ勉強会
今日から使える! Sass/compass ゆるめ勉強会Yuji Nojima
 
Wp プラグインapiから理解するword press.share
Wp プラグインapiから理解するword press.shareWp プラグインapiから理解するword press.share
Wp プラグインapiから理解するword press.shareYuji Nojima
 
WordPressプラグイン Jetpack って何だ?!
WordPressプラグイン Jetpack って何だ?!WordPressプラグイン Jetpack って何だ?!
WordPressプラグイン Jetpack って何だ?!Yuji Nojima
 
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜Yuji Nojima
 
WordPress プラグイン Infinite Scroll を試してみた
WordPress プラグイン Infinite Scroll を試してみたWordPress プラグイン Infinite Scroll を試してみた
WordPress プラグイン Infinite Scroll を試してみたYuji Nojima
 
Chromeでjavascriptデバッグ!まず半歩♪
Chromeでjavascriptデバッグ!まず半歩♪Chromeでjavascriptデバッグ!まず半歩♪
Chromeでjavascriptデバッグ!まず半歩♪Yuji Nojima
 
簡単!低コスト!楽しい!レスポンシブ デザイン ディレクション
簡単!低コスト!楽しい!レスポンシブ デザイン ディレクション簡単!低コスト!楽しい!レスポンシブ デザイン ディレクション
簡単!低コスト!楽しい!レスポンシブ デザイン ディレクションYuji Nojima
 

Plus de Yuji Nojima (7)

今日から使える! Sass/compass ゆるめ勉強会
今日から使える! Sass/compass ゆるめ勉強会今日から使える! Sass/compass ゆるめ勉強会
今日から使える! Sass/compass ゆるめ勉強会
 
Wp プラグインapiから理解するword press.share
Wp プラグインapiから理解するword press.shareWp プラグインapiから理解するword press.share
Wp プラグインapiから理解するword press.share
 
WordPressプラグイン Jetpack って何だ?!
WordPressプラグイン Jetpack って何だ?!WordPressプラグイン Jetpack って何だ?!
WordPressプラグイン Jetpack って何だ?!
 
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
 
WordPress プラグイン Infinite Scroll を試してみた
WordPress プラグイン Infinite Scroll を試してみたWordPress プラグイン Infinite Scroll を試してみた
WordPress プラグイン Infinite Scroll を試してみた
 
Chromeでjavascriptデバッグ!まず半歩♪
Chromeでjavascriptデバッグ!まず半歩♪Chromeでjavascriptデバッグ!まず半歩♪
Chromeでjavascriptデバッグ!まず半歩♪
 
簡単!低コスト!楽しい!レスポンシブ デザイン ディレクション
簡単!低コスト!楽しい!レスポンシブ デザイン ディレクション簡単!低コスト!楽しい!レスポンシブ デザイン ディレクション
簡単!低コスト!楽しい!レスポンシブ デザイン ディレクション
 

Dernier

TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 

Dernier (9)

TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 

WordPressプラグイン作成入門

Notes de l'éditeur

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. \n
  91. \n
  92. \n