wordpress ログインフォームのチェックボックスの検証を追加する場所が見つかりません。ユーザーがログインするたびにチェックする必要がある「用語」と呼ばれる追加のチェックボックスを設定しています。
問題は、チェックしないとワードプレスのログインを停止できないことです。ログインコードです。
また、them-my-login と呼ばれる問題を複雑にする可能性のあるプラグインもインストールされています。
目の前にすべてのコードがあります。探しているものを教えてください。
これがかなり古いことは知っていますが、たまたま見つけて、コーデックスを見て解決策を見つけることができました。これが誰かに役立つことを願っています。正しい方向を示してくれた@Jasonに感謝します。
functions.php
このコードをテーマのファイルに追加する必要があります:
<?php
// As part of WP authentication process, call our function
add_filter('wp_authenticate_user', 'wp_authenticate_user_acc', 99999, 2);
function wp_authenticate_user_acc($user, $password) {
// See if the checkbox #login_accept was checked
if ( isset( $_REQUEST['login_accept'] ) && $_REQUEST['login_accept'] == 'on' ) {
// Checkbox on, allow login
return $user;
} else {
// Did NOT check the box, do not allow login
$error = new WP_Error();
$error->add('did_not_accept', 'You must accept the terms and conditions' );
return $error;
}
}
// As part of WP login form construction, call our function
add_filter ( 'login_form', 'login_form_acc' );
function login_form_acc(){
// Add an element to the login form, which must be checked
echo '<label><input type="checkbox" name="login_accept" id="login_accept" /> I agree</label>';
}