HTMLメールにWordPressのパスワードリセットリンクを追加するにはどうすればよいですか?
P粉136356287
P粉136356287 2023-09-02 13:52:43
0
1
622
<p>WP コアのパスワード リセット電子メールを HTML メールに置き換えようとしています。全体的にはうまく機能しており、メールは適切にフォーマットされており、正しく送信されています。ただし、リンクの動的リセットの実装は機能しません (ユーザー名も同様ですが、それは最も重要なことではありません) </p> <p>テンプレートのfunctions.phpで次のコードを使用しました。</p> <pre class="brush:php;toolbar:false;">add_filter( 'wp_mail_content_type','prefix_set_content_type' ); 関数 prefix_set_content_type() { "テキスト/html" を返します; } add_filter( 'パスワード取得メッセージ', 'パスワード取得メッセージ置換', 10, 2 ); function replace_retrieve_password_message( $message, $key, $user_login, $user_data ) { $message = '<html...>多くの HTML コンテンツ (基本的にフォーマットされた電子メール)</html>'</pre> <p>これを行うと、関数は 4 つのパラメータを予期しますが、2 つしか受け取らないため、致命的なエラーが発生します (バグレポートの電子メールに記載されています)。 $user_data と $key を省略するとエラーは消えますが、ダイナミック リンクの実装方法がまだわかりません...</p> <p>このリンクを HTML に含めようとすると、リンクの半分しか送信されません (おそらく「""」のため): </p> <pre class="brush:php;toolbar:false;">' . network_site_url( "wp-login.php?action=rp&key=$key&login=" . rawurlencode( $user_login ), 'ログイン' ) . '</pre> <p>この問題を解決する方法について何かアイデアを持っている人はいますか?ありがとう。 </p>
P粉136356287
P粉136356287

全員に返信(1)
P粉838563523

行末に 2 ではなく 4 を入れます。

リーリー

フック関数に必要な引数の数を add_filter()add_action() に伝える必要があります。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート