送信メールにヘッダーを追加する方法は?
サイトの送信メールにヘッダーを追加したいので、特定のメールを送信したサイトを簡単に特定できます。(私はすべてのサイトに標準機能プラグインを配置しているので、これは簡単に実行できます。メールヘッダーをフィルターに設定し、このヘッダーを操作するように構成すると、時間を大幅に節約できます。) これはwp_mail関数にプラグインするという単純な問題だと思っていましたが、明らかにそうではありません。 まず、私はこれを試しました: add_filter('wp_mail', 'ws_add_site_header'); function ws_add_site_header() { return array('headers' => 'X-WU-Site: ' . parse_url(get_site_url(), PHP_URL_HOST)); } ここで、私の配列はメール設定を変更した他のもの(たとえば、Gravity Forms)よりも優先されたため、HTMLメールは裸のHTMLとして表示され、適切にフォーマットされませんでした。GFが追加したContent-type:ヘッダーがスクラブされているため、理にかなっています。しかし、私のヘッダーはメールに追加されました。他の人もかなりのメールを受信することに依存しているため(私のサイトのすべてのコンテンツ開発者とエンドユーザー、とりわけ私は確信しています)、それは受け入れられません。 次に、私の同僚の1人が、wp_parse_args()を使用して自分のものをルーティングすることを提案しました。 add_filter('wp_mail', 'ws_add_site_header'); function ws_add_site_header($args) { $new_header = array('headers' => 'X-WU-Site: ' . parse_url(get_site_url(), PHP_URL_HOST)); return wp_parse_args($args, $new_header); } これで、私の機能が存在しないかのように見えます-私のヘッダーは追加されませんが、他のヘッダーもメール設定も削除されません。 存在する可能性のある他のフィルターをスクランブルすることなく、送信メールにヘッダーを追加する正しい方法は何ですか?