Posts tagged カスタマイズ

プラグインの研究:Absolute Privacyを読んでみる3:まずはフォームから

PHPのファイルを読むのって、効率の方法があるのだろうか。今回は、頭からではなく、フォームからやってみます。

管理画面のフォーム

Continue reading プラグインの研究:Absolute Privacyを読んでみる3:まずはフォームから

プラグインの研究:Absolute Privacyを読んでみる2:全体の構造

本体のファイルである、absolute_privacy.phpを読んでいきます。

始めのコメントから

/*
Description: Give your blog absolute privacy.
Forces users to register with their name and to choose a password
(do not forget to enable registrations).
Users cannot login until approved by an administrator.
Also, gives the option to lock down your site from non-logged in viewers.
*/

作者名などの情報や著作権関連情報に混ざって、上記が書かれています。

ブログにabsolute privacyが!
読者に名前とパスワードを登録するように求めます。
読者は、管理者によって承認されるまでログインすることができません。
また、ログインしていない人にサイトを見せないこともできます。

ファイルの構造を見る

クラスの定義

if (!class_exists("absolutePrivacy")) {
class absolutePrivacy {
 // クラス定義が700行。。。
} // end class declaration
} // end !class_exists check

700行かけて、クラスを定義しています。

インスタンス作成

if (class_exists("absolutePrivacy")) {
	$absolutePrivacy = new absolutePrivacy();
}

クラスを使ってます。

アクションフックとフィルタ

//Actions and Filters
if (isset($absolutePrivacy)) {
 //アクションの登録? 20行
 //追加の関数定義 50行
} //end class_exists check

WPと連結させているところ?
いくつかの関数を追加しているようです。

というわけで、続きは明日。

プラグインの研究:Absolute Privacyを読んでみる1:ファイル構成


photo by opensourceway on flickr.

プラグインの動き方を調べるために、簡単そうなものを選びました。

Absolute Privacyという、ワードプレスに会員制機能をつけるためのプラグインです。
このプラグインを導入すると、ログインした人しかブログを読むことができなくなります。クライアントの確認時など、リリースはしないけれどもオンラインで開発を進めたい時などにいいと思います。

ファイル構成

上の写真のように、

本体:absolute_privacy.php
プラグインの本体部分。872行
管理画面制御?:ap_mod_email.php
おそらく、管理画面側の制御をするためのファイル。161行(htmlソースも含むため、結構単純)
アンインストール用:uninstall.php
そのまま。9行。超単純。
その他
アイコンが3つ入ってる画像フォルダ。スクリーンショット。色々書かれたreadme.txt

となっています。

次回以降、phpファイルを読んでいきます。

ワードプレスが動くとき、どんなphpが動いているか10:wp-login.php:後半部分

前々回から取り組んでいるwp-login.phpの後半戦です。

このファイルの役割は、

  • ユーザ認証。ログインさせる。
  • 新規ユーザ登録
  • パスワードのリセット
  • パスワードを忘れてしまった人に教える

です。

ここまでは、これらの処理をするための下準備でした。
主に、

  • 環境設定
  • ログイン画面のを作る
  • パスワード取得のための関数を定義
  • パスワードリセットのための関数を定義
  • 新規ユーザ登録のための関数を定義

でした。ワードプレスはしっかり動いているし、色んな変数に色々代入されてもいます。

ここからは、上記の関数を使いながら、$actionの値によって、switch構文で条件分岐して、処理が進みます。

最初に、どんなcaseがあるのかを確認し、全体の構造を抑えたいと思います。

全体の構造

switch ($action) {
case 'logout' :
 //ログアウト時の処理
break;
case 'lostpassword' :
case 'retrievepassword' :
 //パスワード紛失時及び取得時の処理
break;
case 'resetpass' :
case 'rp' :
 //パスワードリセットのための処理
break;
case 'register' :
 //新規登録のための処理
break;
case 'login' :
 //ログイン時の処理
break;

ということで、以下順番に見ていきたいと思います。
Continue reading ワードプレスが動くとき、どんなphpが動いているか10:wp-login.php:後半部分

SugarSyncがパワーアップしたので、ローカルWP同期が便利になった!

はてなブックマークで話題になっていましたが、
SugarSyncがパワーアップしたようです。

無料で容量5GB SugarSyncが普通に凄くなった

以前ご紹介した、MAMP+SugarSyncでローカルWordPress同期では、2台までしか共有できないという制限があるので、個人的にしかできないよ、ということでしたが、これで、できるようになりました。素晴らしい!

ドロップボックスでも、任意のフォルダが共有できるようになれば同じことになりますね。