
gianismプラグインはバージョン2.0以降は内部構造に大きな変化がありましたので、以下は最新の情報とは限りません。ChangeLog
wordpressでphp勉強中なわけですが、このブログでも何回かメモしたgianismプラグインをまた使った。
相変わらず素敵だ。高橋さんという方が作られたのだが、なんか素敵オーラが漂っている。
で、wpg_connectというフックがある。これはGoogleなどでユーザーがOAUTHログインした際に利用できる
もの。今回はユーザーがOAUTHでWordpressに新規ユーザー登録したら一部DBに値を追加したいなと思って、
このフックを触るに至った。
で、どうも引数が取れない。予定ではGoogleでログインしたのかFacebookでログインしたのかが分かる
はずだったのだが。
そこでソースを見てみた。が、いまいちよくわからない。
そこでググってみた。が、いまいちよくわからない。
そこでもっとグッとググってみた。で、たぶんわかった。
do_action関数の引数の在り方がWordpressの更新で変わった?のかな。とにかくなんか違った。
そこでやってはいけないと言われながらも直接プラグインのソースコードをいじった。
たぶん、クラス継承したりremove_actionしてadd_actionし直したりするのが正解なんかもしれん。
でも、コードをいじった。そこに、コードがあったから。
◆変更前:gianism/sdk/google/google_controller.php
do_action('wpg_connect', $user_id, $profile, 'google', true);
◆変更後:gianism/sdk/google/google_controller.php
do_action('wpg_connect', array("user_id"=>$user_id, "profile"=>$profile, "type"=>'google', "is_login"=>true));
このようにdo_actionの第二引数を配列に入れてあげたら、add_actionした先でも取得できた。
ホッ。
今日もジャイアンに感謝。