1

wordpress ログインフォームのチェックボックスの検証を追加する場所が見つかりません。ユーザーがログインするたびにチェックする必要がある「用語」と呼ばれる追加のチェックボックスを設定しています。

問題は、チェックしないとワードプレスのログインを停止できないことです。ログインコードです。

また、them-my-login と呼ばれる問題を複雑にする可能性のあるプラグインもインストールされています。

目の前にすべてのコードがあります。探しているものを教えてください。

4

3 に答える 3

1

これがかなり古いことは知っていますが、たまたま見つけて、コーデックスを見て解決策を見つけることができました。これが誰かに役立つことを願っています。正しい方向を示してくれた@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>';
}
于 2013-02-25T20:55:20.807 に答える
0

WordPress フィルター/アクションはあなたの味方です。

を見てみましょう:

于 2012-06-13T19:01:06.530 に答える