この記事は最後に更新してから1年以上経過しています。

個人データのエクスポートメール向けに追加された新フィルター

説明

先週「WordPress 5.4 RC3」が公開され、正式リリースまであと1週間。ブロックエディターの機能強化が目立つわけですが、地味な変更点もちらほらと。今回はその中の1つ、「個人データのエクスポート」機能に関連するフィルターを紹介する。

「個人データのエクスポート」機能では、サイト投稿者などからのリクエストに対応するもので、その方の個人データのリンク(ダウンロード先)を記載したメールを送信する。そのメール送信には wp_mail関数が使用されており、これまでは次のような呼び出しになっていた。

$mail_success = wp_mail( $request_email, $subject, $content );

パラメータ$request_emailには送信先メールアドレスが、$subjectにはメールタイトルが、$contentにはメール本文が格納されており、それぞれ対応するフィルターでカスタマイズできるようになっている。

5.4ではwp_mail関数の呼び出しにおいてパラメータ$headersが追加され、その直前にwp_privacy_personal_data_email_headersフィルターを実行するように変更された。

$headers = apply_filters( 'wp_privacy_personal_data_email_headers', $headers, $subject, $content, $request_id, $email_data );

$mail_success = wp_mail( $request_email, $subject, $content, $headers );

パラメータ$headersの初期値は''で、上記のフィルターを使うことで任意のヘッダー情報を指定できる。

なお、サーバーのメール送信プログラム(sendmail)の設定によってはヘッダー情報が無視されたり、除外されたりする場合があるので、その点は留意したい。


最終更新 : 2020年04月02日 11:21


お勧め

wp_suspend_cache_addition(2023年6月8日 更新)

bool wp_suspend_cache_addition( [ bool $suspend = null ] )
キャッシュの追加を一時的に停止する。

wp_json_file_decode(2022年1月26日 更新)

mixed wp_json_file_decode( string $filename [ , array $options = array() ] )
JSONファイルをデコードする。

get_metadata_by_mid(2018年12月14日 更新)

object|bool get_metadata_by_mid( string $meta_type, int $meta_id )
IDを指定してメタデータを取得する。

human_time_diff(2019年11月18日 更新)

string human_time_diff( int $from [ , int $to = '' ] )
時間差を'5分'や'2日'のような感覚的な表現で取得する。

get_current_user_id(2013年9月18日 更新)

int get_current_user_id()
現在のログイン済みユーザーのIDを取得抽出する。