Archive for the ワードプレスが動くまで Category

ユーザ登録の有効化メールが送られる仕組みを調べました。

WordPressでどのようにして自動返信メールなどが送られるのかを調べました。

自動返信メールや有効化メールをカスタマイズする必要があったため、WordPressがどのようにメールを送信しているのかを調べました。

今回は、エンドユーザーがマルチサイト(ネットワーク)でユーザ登録(ブログ作成ではなく)をした時に動いている2つの関連する関数について調べました。

関数が書かれているファイルは、wp-includes/ms-functions.phpです。

wpmu_signup_user($user, $user_email, $meta = ”)

wp-signup.phpの中で、ユーザ登録時に使われる関数です。

具体的には、

  • ユーザが入力した情報を実際にデータベースに入力すること
  • ユーザのメールアドレス宛に、有効化メールを送信する

という2つの仕事をしています。
Continue reading ユーザ登録の有効化メールが送られる仕組みを調べました。

wp-signup.phpを読む。

昔やっていたWordPressが動くまでシリーズ、やっぱりやることにした。

wp-signup.phpは、ネットワークインストールのとき(マルチサイトのとき)の、会員登録する時に動きます。普通の登録は、wp-login.php?action=registerでやられるんだけど、ネットワークの時はこのwp-signup.phpに転送されます。

//nskwで始まるところが僕の書き込みです。

全体の流れ

  1. 下準備(WPを動かすところ)
  2. 登録のタイプに分かれて関数を定義
  3. どんな時に、どんな関数を呼び出すのかを決めるメイン部分

下準備では、必要なファイルを読み込んだり、シングルインストールは転送したりしています。
登録のタイプ、というのは

  • 非ログインユーザが新規に子ブログ作成
  • 非ログインユーザが子ブログを作らずにアカウント登録
  • 既に子ブログを持っているユーザが、もう一つ子ブログを作成

といった、どんなブログを作成しようとしているのかというタイプと、ネットワークのオーナー側で子ブログの作成を許しているのか、既にアカウントを持っている人にブログ作成を許しているのか、という要素が掛け合わさってます。

なので、それぞれの関数を作っておいて、最後に条件分岐させながら関数を呼び出しています。

Continue reading wp-signup.phpを読む。

WordPressのコアファイルの仕組み。3ステップでざっくりまとめ。

WordPressをダウンロードすると入っているたくさんのファイル、どんな構成になっていて、それらがどんなふうに動いているのか、まずは図を見てください。

クリックして拡大してみてください。

3ステップで理解する

ステップ1:3つのフォルダをおさえる

  • 管理画面を表示させているwp-adminフォルダ
  • 一番馴染みの深いwp-contentフォルダ(テーマやプラグイン!)
  • 色んな関数やapiが詰まっているwp-includesフォルダ

それぞれのフォルダの中にも、かなりたくさんのファイルが入ってますが、ここはヒトカラゲにざっくり捉えます。

ステップ2:ブログのトップページが表示されるフローをおさえる

ユーザがブログのトップページに訪れたときに、だいたいどんな処理が行われているのか、それが図の下半分です。
ひとつずつ読んでけば大丈夫です。

この記事の最後に、それぞれのファイルを読んでみた記事のリストがあります。

ステップ3:その他のファイルを覗いてみる

wp-login.phpはユーザ登録、wp-mail.phpは多分メール制御、などですが、ファイルを開いてみると最初にコメントで大体の機能を説明しているので、把握する。

という感じです!

各ファイルの詳細記事案内

上の図に登場するファイルをひとつひとつ読んできました。
それぞれ記事になっていますので、よろしければどぞ!

フロー図に載っているもの(ステップ2のあたり)

WordPressが動くようになるまでを、1ファイルずつ丁寧に見てます。

その他、重要そうなファイル

上のフロー図には登場してないけど、勉強すると理解が深まります!

以上です。

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

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

管理画面のフォーム

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

ワードプレスが動くとき、どんな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:後半部分