WordPressのダッシュボードへのログインする処理を調査して、自作するログイン処理に応用(連携)できないか検討します。
WPのログイン処理
WordPressのログイン処理はURL/wp-admin
を指定した時に表示されるので。。。眺めるファイルは/wp-admin/index.php
ファイルになります。
というわけで早速。。。そして、参考にするサイトはWordPressのドキュメントサイトです。
コードを眺める
参照するファイルは/wp-admin/index.php
です。頭から眺めます。
/** * Dashboard Administration Screen * * @package WordPress * @subpackage Administration */ /** Load WordPress Bootstrap */ require_once( dirname( __FILE__ ) . '/admin.php' ); /** Load WordPress dashboard API */ require_once( ABSPATH . 'wp-admin/includes/dashboard.php' ); wp_dashboard_setup(); wp_enqueue_script( 'dashboard' );
上のrequire_once()
はファイルを読み込むということなので「なるほど!」となるけど、wp_dashboard_setup
とwp_enqueue_script
はそういきませんので調べることにします。
wp_dashboard_setup()
このWorPress関数(テンプレート)はダッシュボードのセットアップを行うようで、ここに関連する処理(ライブラリ(API))でダッシュボードのカスタムができるようです。
wp_enqueue_script()
こちらは説明書きがあったのでそれを眺めると。。。
スクリプトファイルがまだインクルードされていない場合、また、すべての依存するスクリプトが登録済みの場合、依存関係に従った適切なタイミングでファイルを生成されたページにリンクします。スクリプトのリンクは、wp_register_script() 関数ですでに登録済みのハンドル、またはこの関数に必要なパラメータを与えることで行えます。
これは WordPress が生成するページに JavaScript をリンクする際に推奨されている方法です。
そして、実際にあるコードは下のようになっているので
wp_enqueue_script( 'dashboard' );
説明とコードからして、下のファルダにあるJSファイルを読み込んでいるだろうと予測します。
予測したら、それを確認します。
dashboad.jsを発見することができました。
ログイン処理はどこに?
横道に逸れましたが、ログイン処理はどこにいるのでしょうか?
確かにログインの画面は/wp-admin/
で表示させていました。
どうやらログイン処理部分を通り過ぎてしまったようです。
なので初めのrequire_once
のとこまで戻り、読み込んでいるファイルを眺めます。
admin.phpを眺める
今までは、丁寧に眺めてきましたが、Login部分を見つけたいので、かっ飛ばして眺めます。
require_once( dirname( dirname( FILE ) ) . '/wp-load.php' );
このコードより、/wp-load.php
を眺めてもloginが見つからないので飛ばします。。。そして、インターネットで調べたほうが早そうなので、そうすると。。。このサイトでは、functions.phpを編集する方法でログイン画面をカスタムする方法を記載していました。
結論
ダッシュボード、ログイン画面共にベースになるファイルは発見することができたので、これをベースにカスタムすれば良いということがわかりましたが、当然、テーマを変更すると作成したファイルが参照されなくなるので。。。ファイルの配置場所は考える必要があります。
しかし、これで
自作のログイン画面からログインした場合は、自作のダッシュボード画面へ遷移する
というような処理を実装してみるのも良いかと思いました。
でわでわ。。。
関連ページ
- PHP PDO 〜MySQLにアクセスする〜
- PHP Ajax 〜DBに登録したデータを受信する〜
- Google Maps API PHP連携 〜マップ情報をDBに登録する〜
- PHP Image File 〜iPhoneやAndroidでの画像送受信の問題〜
- AngularJS Routing 〜PHPをWeb APIにする〜
- WordPress PHPカスタム〜根本的に見た目を変える〜
- WordPress PHPカスタム〜根本的に見た目を変える2〜
- Eclipse PHPプラグイン 〜ElipseでWordPress環境を構築〜
- WordPress テスト実装 〜heade-test.phpを表示〜
- AngularJS + PHP 〜WordPressと連携する〜
- AngularJS + PHP 〜AngularJSの実装〜
- AngularJS + PHP 〜AngularJSの実装2〜
- WordPress 処理解析 ~index.phpを眺める~