0

ワードプレス: wp_user 行 (foo) に phpMyadmin を使用して追加の列を作成しました。ログイン時に各ユーザーが列を更新する必要があります。次の方法で各ユーザーの値を正常に呼び出しました。

            <?php

        $wpdb->hide_errors(); auth_redirect_login(); nocache_headers();
                    $current_user = wp_get_current_user();
                    if ( 0 == $current_user->ID ) {
                        // Not logged in.
                    } else {
                        echo '<input>' . $current_user->foo . '/>';


                    }
                    ?>
4

1 に答える 1

2

WordPress テーブルを変更した理由を説明していただけますか?

それはとても悪い習慣です。WPがどこかで更新する必要がある場合、あなたのコラムが存続することは非常に疑わしい.

ニーズに合った WP_Usermeta というテーブルがあります。

次の方法で値にアクセスして更新できます。

update_usermeta($userId,'foo',"1");

$foo = get_usermeta($userId,'foo');

ここで、主な問題として、wp_authenticate 関数をオーバーロードするか、「Authenticate」などのフィルターを使用できます ( mjangda の回答から取得)。

add_filter('authenticate', 'check_login', 10, 3);
function check_login($user, $username, $password) {
$user = get_userdatabylogin($username); 

if( /* check to see if user is allowed */ ) {
    return null;
}
return $user;

}

于 2012-06-07T13:41:49.867 に答える