2017-05-19 5 views
1

おはようへのユーザーの追加します作成されたロール。は <p></p>は私がブログでユーザーを作成するときと同じで別のブログ(常にこの数1)に自動的に追加することスニペットを作りたい...別のブログ(ワードプレスマルチサイト)

私はこれを使用しています。このため

:次に

$ Blog_id = 1; 
$ User_id = get_current_user_id(); 
$ Role = 'publisher'; 
Add_action ('user_register', add_user_to_blog ($ blog_id, $ user_id, $ role)); 

を.....そして、それは動作しません、

が、私はこれを行う場合は....

$ Blog_id = 1; 
$ User_id = 127; // 127 is a specific number of a user that already exists 
$ Role = 'publisher'; 
Add_action ('user_register', add_user_to_blog ($ blog_id, $ user_id, $ role)); 

はい、それは動作します。

は、誰かが最初の(一般的な)ソリューションが動作しませんなぜ私が理解するのに役立ちます:

$ User_id = get_current_user_id(); ? 
+0

なぜ$とvar名の間にスペースを入れますか?また、 'Add_action'は大文字で動作しますか?最後に、このコードを使っているのはどこですか?擬似コードの代わりに実際の使用法を表示すると良いです... – brasofilo

+0

あなたは正しいです... $と変数の間には区切りはありません。コピー+ペーストをしているうちに何かが起きました... – Jose

答えて

1

get_current_user_id機能は現在ログインしているユーザーを返します。新しいユーザーIDではありません。

あなたはこのようなものを使用する必要があり

現在のユーザーのIDを取得します:私はそれをテストしていないが、それは正常に動作する必要があり

add_action('user_register', 'myplugin_registration_save', 10, 1); 

function myplugin_registration_save($user_id) { 
    $blog_id = 1; 
    add_user_to_blog($blog_id, $user_id, "publisher"); 

} 

を。

+0

ありがとう...しかし、私はそれを試して、それは動作しません。私は関数$ user_idを渡すことをお勧めしますが、問題は新しいユーザーを作成する瞬間に$ user_idが何であるか分からないということです。 あなたが正しいです、get_current_user_idは、ユーザーが記録したIDの値を返しますが、新しいIDは返しません。 他に何か考えてもらえますか? ありがとうございました – Jose

関連する問題