Upload
galluda
View
581
Download
0
Embed Size (px)
DESCRIPTION
Citation preview
WordPress のプラグインから学ぶ!PHP のキホン
by 古庄
自己紹介 古庄と申します Web では「がる」というハンドルでふらついており
ます 本職は技術者です。現役プログラマーやってます あわせて設計とかインフラとか教育とか色々やって
ます 引っかかりやすい Google 向けキーワードとしては
「古庄道明」「エンジニア 親方」「エンジニア 禅」「がる」あたりでしょうか。
あちこちのサービスで「 gallu 」って ID でふらふらしてます はてな、 twitter 、 github など
本日のお題 簡単な PHP コードを組む 「出力」をする、簡単な WordPress プラグインを
組む
まずは install !! 環境を作っていきましょう
PHP は、原則として「サーバ側」で動く だから、普段は「サーバに PHP ファイルをアップ」する XAMPP は「 PC にサーバの兼任をお願いする」
セキュリティ: admin ユーザネーム注意 最近、 admin ユーザに対するブルートフォース攻
撃が頻発している模様!! 以下の手順で、インストール直後の WordPress か
ら、速やかに「 admin ユーザを削除」しておきましょう 新しい「管理者」ユーザを一つ作る 一度ログアウトする 作ったアカウントでログインしなおす admin を削除する
「すべての投稿を以下のユーザーにアサイン」
まずは「 Hello, world! 」 プログラムのコツは「小さく書いて」「コツコツ確
認」 「世界で一番有名な」 Hello world プログラムを書
いてみましょう!! プログラムは、 wordpress インストール直下に
「 t.php 」の名前でファイルを作りましょう
<?php
echo 'Hello, world!';
Hello world をプラグイン化 概ね、以下の手順で「単純な出力コード」を
「 WordPress のプラグイン」として使えるようにしていきます コメントを書く 関数化&ファイル名を適切に変更 ファイルを適切な場所に設置する プラグインを有効化する テンプレートからプラグインを call する 確認する
コメントの書き方
/*Plugin Name: First pluginPlugin URI: http://www.example.comDescription: 初めてのプラグインAuthor: がるVersion: 0.1Author URI: http://www.example.com*/
ファイル名「 first_plugin.php 」<?php/*Plugin Name: First pluginPlugin URI: http://www.example.comDescription: 初めてのプラグインAuthor: がるVersion: 0.1Author URI: http://www.example.com*/function first_plugin() { echo 'Hello, world!';}
関数化&ファイル名を適切に変更
ファイルを適切な場所に設置する ~wordpress/wp-content/plugins/
プラグインを有効化する 管理画面から、有効化してみましょう
テンプレートからプラグインを call する テンプレートを修正
「外観」→「テーマ編集」→「ヘッダー」 「ファイルを更新」が出ない場合、ファイルパーミッ
ション ヘッダーにいれてみましょう サイドバーにいれてみましょう
<?php first_plugin(); ?>
メインになるプラグイン:おみくじ メインになる「おみくじ」を作成していきましょう
おみくじの仕組み おみくじ箱から番号を1つ引いて 番号に対応する紙をもらう
ちょっと抽象化すると 配列から配列の key を1つ選択して key に対応する値を出力する
おみくじで必要そうな要素 配列 乱数
配列を確認 配列を作ってみましょう ( array.php ) wordpress インストール直下にファイルを作ります
<?php$awk = array(
' 配列要素 1',' 配列要素 2',
);var_dump($awk);
乱数の確認 乱数を使ってみましょう ( rand.php )
<?php$i = mt_rand(0, 100);var_dump($i);
おみくじプログラム ( 日本語版 ) kuji.php
<?php// おみくじ箱を用意する// おみくじ箱から1つを選ぶ// 選んだものに対応する紙を得る
おみくじプログラム kuji.php
<?php// おみくじ箱を用意する$kuji_array = array (
' 吉 ',' 凶 ',
);// おみくじ箱から1つを選ぶ$i = mt_rand(0, count($kuji_array) - 1);
// 選んだものに対応する紙を得る$kuji_string = $kuji_array[$i];echo $kuji_string;
おみくじプログラム 動かしてみましょう
おみくじプラグイン コメントを書く 関数化&ファイル名を適切に変更 ファイルを適切な場所に設置する プラグインを有効化する テンプレートからプラグインを call する 確認する
おみくじプラグイン:コメント
/*Plugin Name: kuji pluginPlugin URI: http://www.example.comDescription: おみくじプラグインAuthor: がるVersion: 0.1Author URI: http://www.example.com*/
kuji_plugin.php
おみくじプラグイン:関数ラッピング kuji_plugin.php
/*Description: おみくじプラグイン*/function kuji_plugin() {
前述のコード}
有効化してテンプレート修正 ファイルを設置する
~wordpress/wp-content/plugins/ 管理画面から有効化する テンプレートを修正
「外観」→「テーマ編集」→「サイドバー」 サイドバーにいれてみましょう
<?php kuji_plugin(); ?>
ここから少し発展させて… 日時は使いやすい
「時間」にあわせた挨拶 日付や月にあわせた挨拶
date 、という関数を調べてみましょう!!
まとめ 出力のプラグインは「普通の PHP 」での作成となん
ら変わりがないです 「出力以外 ( フィルターとか ) 」がじゃぁ「普通の PHP
と違うのか」というと、まずもって違わないのですが PHP プログラムの基本は「小さく作って」「コツコ
ツ試す」 分からなければ「書いてテスト」 何十行もあると大変なので、小さく作るのは 10行以内
質量転換の法則 まず「動かして」、その後で「動いている理屈」に思いをはせましょう
プログラムを「楽しんで」ください ^^ノ