説明
bool wp_mail( string $to, string $subject, string $message [ , mixed $headers = '' [ , mixed $attachments = array() ] ] )
メールを送信する。
パラメータ
- $to送信先メールアドレスを指定。
- $subjectメールタイトルを指定。
- $messageメール本文を指定。
- $headersメールヘッダー情報を文字列または配列で指定(省略時は'')。
- $attachments添付ファイルを文字列または配列で指定(省略時はarray())。
返り値
メールを送信できた場合はtrueを。送信できなかった場合はfalseを返す。注意
パラメータ$headersで送信元('from')が省略された場合は、名前は'WordPress'、メールアドレスは'wordpress@'サイト名('www.'から始まる場合は除外される)が適用される。
パラメータ$headersでコンテント情報('content-type')が省略された場合は、content-typeが'text/plain'、charsetが'UTF-8'が適用される。
[5.7.0]'pre_wp_mail'フィルターの返り値がnull以外の場合、メールは送信されず、その値が本関数の返り値となる。
使用例
- 送信元を省略してメールを送信する。<?php @wp_mail( $to, $subject, $message ); ?>
- 送信元を指定してメールを送信する。
<?php $blogname = wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES ); $wp_email = 'wordpress@'.preg_replace( '#^www\.#', '', strtolower( $_SERVER['SERVER_NAME'] ) ); $headers = "From: \"{$blogname}\" \n". "Content-Type: text/plain; charset=\"UTF-8\"\n"; @wp_mail( $to, $subject, $message, $headers ); ?>
フィルター
[2.2.0]本関数の冒頭で'wp_mail'フィルターを呼び出す。パラメータ$paramsは本関数で受け取った5つのパラメータを格納した連想配列となる。extract( apply_filters( 'wp_mail', $params ) );
$atts = apply_filters( 'wp_mail', compact( 'to', 'subject', 'message', 'headers', 'attachments' ) );
$pre_wp_mail = apply_filters( 'pre_wp_mail', $return, $atts );
$from = apply_filters( 'wp_mail_from', $from_email );
$from_name = apply_filters( 'wp_mail_from_name', $from_name );
$content_type = apply_filters( 'wp_mail_content_type', $content_type );
$charset = apply_filters( 'wp_mail_charset', $charset );
アクション
[2.2.0]メールを送信する直前に'phpmailer_init'アクションを呼び出す。パラメータはPHPMailerクラスのオブジェクトが格納された配列となる。do_action_ref_array( 'phpmailer_init', array( &$phpmailer ) );
do_action( 'wp_mail_succeeded', $mail_data );
do_action( 'wp_mail_failed', $error );
ソースファイル
/wp-includes/pluggable.php最終更新 : 2022年02月01日 10:52
関連
お勧め
Emojin:プラグイン作ってみました(2015年3月21日 更新)
ちょっと前のTLでiOSの絵文字を含んだ投稿を保存すると、絵文字以降の文章がすべて消えた状態で保存されるといったツイートを見かけた。少し検索してみると、MySQLのデータベースの文字セットが「utf8」の場合、iOSの絵文字のような4バイトの文字を正常に保存できず、それ以降の文章も保存されないというものらしい。対処方法としてデータベースの文字セットを「utf8mb4」に変更するのが有効らしいのだが、他に回避策がないか考えてみた。Twenty Seventeenのフォントサイズを変更してみた(2021年12月15日 更新)
先日投稿した「続テーマを変更せずにWebフォントを使ってみた」では、テーマ「Twenty Seventeen」でもWebフォントを使えるようにした。その際、「Twenty Seventeen」のフォントサイズが少し小さく感じたので、今回はフォントサイズを調整してみた。
HTML entities button:プラグイン作ってみました(2021年4月28日 更新)
以前投稿した「HTML編集モードに定型文ボタンを追加する」をアレンジして、HTML編集モードに特殊文字(HTMLエンティティ)を挿入できるボタン、顔文字を挿入できるボタン、過去の投稿ページのリンクを挿入できるボタンを追加するプラグインを作ってみました。HTML編集モードの作業効率を向上させるプラグインです。2.1.0では「Dashiconsの挿入」を追加しました。HTML編集モードをメインに使用されている方は、お試しあれ。5.7の機能拡張:エクスポートファイルに更新日時が追加ほか(2021年2月23日 更新)
WordPressはサイト移行を支援する機能として投稿情報のエクスポート機能を備えている。5.7ではこのエクスポート機能が改良され、更新日時情報が追加されるようだ。
query_posts(WP_Queryクラス)でカスタムフィールドを使う(2011年9月15日 更新)
先週3回にわたってtax_queryパラメータを使ったカテゴリーや投稿タグ、投稿フォーマットの絞り込みを整理したが、その途中で目に付いたのが'meta_query'パラメータ。この'meta_query'パラメータは、カスタムフィールドの絞り込み条件を指定するためのもので、3.2で登場した新しいパラメータのようだ。