1

登録時にユーザーIDを取得し、そのIDをカスタムテーブルに自動的に追加しようとしています。登録にwp-membersプラグインを使用しています。

したがって、登録中にその場でユーザーIDを取得し、そのIDをWP-Membersプラグインを使用して別のカスタムテーブルに追加することは可能ですか。

または、必要に応じてカスタム登録ページを使用できます。ただし、登録時にその場でユーザーIDを取得する方法についてのガイドラインが必要です。

以下のコードをテーマfunctions.phpに追加していますが、何も機能しません。どこが間違っているのか、このコードが完全に間違っているのかわかりません。

function get_customs_id($user_id){
    global $wpdb;
    $wpdb->insert( 'wp_customs', array( 'customs_id' => 'value1' ), array( '%d' ) );
}
add_filter('user_register', 'get_customs_id');

それを機能させるために私を助けてください..:)

4

1 に答える 1

0

「user_register」がフィルターではなくアクション フックであるという事実を除いて、それは機能するはずです。

質問の日付を見ると、その時点でプラグインが wp_insert_user を使用していなかった可能性があります。よくわかりません。しかし、今はそうしているので、そのフックは機能するはずです。

同様に使用できるプラグイン固有のアクション フックもあります - wpmem_post_register_data。このフックは、ユーザーが登録されてデータベースに挿入された後に発生します。ID を含むすべてのユーザー フィールドの配列を受け取ります。

したがって、そのフックと他のコードを使用すると、これは機能するはずです:

function get_customs_id($fields){
    global $wpdb;
    $wpdb->insert( 'wp_customs', array( 'customs_id' => $fields['ID'] ), array( '%d' ) );
}
add_filter('user_register', 'get_customs_id');
于 2015-04-17T02:16:15.850 に答える