・アドレスの認証を促すような事は出来ないでしょうか?
buddypressのデフォルトテーマを使っていれば、登録後の画面で
「送信したメールのリンクをクリックすると完了」
といった趣旨のメッセージが出ます。
ご回答ありがとう御座います
今回は、登録後の画面では無く、一旦ブラウザを閉じる等した場合です
デフォルトのテーマでも、アドレス認証前のユーザを用いてログインしようとしたとき、何の警告も無くログイン出来ずにトップページへ戻ると云う状態でした
引き続き、よろしくお願い致します
ちょっと強引ですが、元の関数p_core_signup_disable_inactive(bp-core.phpにあります)を削って、
オリジナル定義してみました。
remove_filter( 'authenticate', 'bp_core_signup_disable_inactive', 11, 2 );
function my_bp_core_signup_disable_inactive( $auth_obj, $username ) {
global $bp, $wpdb;
if ( !$user_id = bp_core_get_userid( $username ) )
return $auth_obj;
$user_status = (int) $wpdb->get_var( $wpdb->prepare( "SELECT user_status FROM $wpdb->users WHERE ID = %d", $user_id ) );
if ( 2 == $user_status )
wp_die('You need authentication'); //ここを変更した
else
return $auth_obj;
}
add_filter( 'authenticate', 'my_bp_core_signup_disable_inactive', 11, 2 );
本家に改善を提案したほうが良いかもしれませんね。
ぬぉっ!
わざわざオリジナルでありがとう御座います
現状ではそう云う機能は無いのですね
少し外に出るので、夜に戻ったらすぐ試させていただきます
ありがとう御座いました
なお
・認証されないまま一定期間を過ぎた場合、そのユーザを削除する事は出来ないでしょうか?
もプラグイン等は無くオリジナルでコードを書くと云う方向でしょうか?
//質問別けた方が良いかな?
お世話になります
頂いた
wp_die('You need authentication');
を書くと、ステータスコード500が返ってきます
wp_dieと云う関数は始めて見たので、追いかけて原因を究明し、後ほど結果を報告させて頂きます
先に書くのを忘れてしまいましたが、buddypress.1.2.7です
構造が変わっているのか、bp_core_signup_disable_inactive()はbp-core-signup.phpに有りました
wp_die は500エラーとエラーメッセージを返す関数なので、正しく動作しています。
http://codex.wordpress.org/Function_Reference/wp_die
他のステータスコードにしたいのであれば、単に echo を使うなどしてください。
先に書くのを忘れてしまいましたが、buddypress.1.2.7です
バージョンについて何も書いてなかったので、投稿時点での最新バージョン(1.2.8)と判断して調べています。
あえて古いバージョンを使うのであれば、差分ぐらいは自分で調べてください。
・認証されないまま一定期間を過ぎた場合、そのユーザを削除する事は出来ないでしょうか?
もプラグイン等は無くオリジナルでコードを書くと云う方向でしょうか?
プラグインがあるかどうか分かりません。
データベースを調べて登録日とステータスで条件判定するだけですので、
プラグインを探すよりはコード書いた方が速いと思います。
ステータスコード500はコード中に全角スペースが含まれていたのが原因でしたorz
最終的に、認証を促す固定ページを作成し、そこへリダイレクトさせるようにしました
お付き合いありがとう御座います
固定ページに、再度認証メールを送る仕組みを追加しようと思うので、また詰まれば質問させて頂きます
データベースを調べて登録日とステータスで条件判定するだけですので、
プラグインを探すよりはコード書いた方が速いと思います。
了解しました
取りあえずfunction.phpに追記する事で対処しました
トリガーが気に入らないので、改良後プラグイン化しようと思います
ご教示ありがとうございました
track を見たところ、buddypress 1.3 で、
アクティベーションしていない場合は警告メッセージを出すように改善されるらしいです。
http://trac.buddypress.org/ticket/2772
おぉ
わざわざ情報ありがとう御座います
あれから少し勉強して、
remove_filter( ‘authenticate’, ‘bp_core_signup_disable_inactive’, 11, 2 );
をfunction.phpに追加し、独自関数作って弄ってますが・・・
リンク先でやってる事の方がシンプルでよさそうです
ありがとうございました