web-dev-qa-db-ja.com

Wp-login.php?action = registerフォームのaction属性を変更するにはどうすればいいですか?

私はWordpressで参照登録システムを作成しようとしています。アイデアは、ユーザーがwp-login.php?action = register&ref = 12345を含むリンクをクリックするということです。

私は 'register_form'アクションフックに夢中になっていて、参照番号の隠し入力を追加しています。登録時には、その参照番号を使用して必要なことをすべて実行します。

この問題は、ユーザーが登録フォームで問題を起こしたときに発生します。問題は、登録フォームのaction属性に、refパラメータなしで "wp-login.php?action = register"と表示されている場所に移動することです。そのアクション属性を変更する方法を探しています。 wp-login.phpファイルを調べたところ、フィルタがないようです。

私はいつもJavaScriptがあることを知っていますが、これを行うための別のワードプレスの方法はありますか?

1
c10b10

あなたはregister_form_validationフック(あなたがすでに使っているのと同じフックかもしれません。それらがどこでバリデーションをするのかわからない)にフックして次のようなものを追加することができるはずです。

function my_register_validation() {
if(isset($_GET['ref'])){ 
   header('Location: http://www.example.com/wp-login?action=register&ref=$_GET[ref]');

}
add_filter(' my_register_validation', 'register_form');

私はそれが上のコードがテストされていない正しい考えであると思います、しかし私はそれがあなたを正しい軌道に乗せると思います。

あなたはそれを秘密のフォーム値に追加していると言ったので、代わりに$_POST['secret_value']を使うことができるかもしれません。

1
Brooke.