返信先: 自動送信メールの本文変更

2014 年 12 月 5 日

ホーム フォーラム 使い方全般 自動送信メールの本文変更 返信先: 自動送信メールの本文変更

#72962

JunichiK
参加者

フィルターフック usces_filter_send_order_mail_bodyall で wp_get_object_terms()を取得したいのですが、取得できません。
タクソノミーが存在しないという WP_Error が返ってきます。
他のテンプレートでは正常に取得できているのですが、なぜでしょう?
functions.php のフィルターフックのコードは概ね下記のような感じです。

add_filter( 'usces_filter_send_order_mail_bodyall', 'my_filter_send_order_mail_bodyall', 10, 2 );
function my_filter_send_order_mail_bodyall( $msg_body, $data ) {
	$user = wp_get_current_user();
	$user_id = get_current_user_id();
	$user_terms = wp_get_object_terms( $user_id, 'user-group' );
	if( !empty( $user_terms ) ) {
		if( !is_wp_error( $user_terms ) ) {
			foreach( $user_terms as $user_term ) {
			}
		}
	}
	$msg_body = "\r\n\r\n\r\n【お支払内容】\r\n";
	$msg_body .= usces_mail_line( 1, $data['order_email'] );//********************
	$msg_body .= "メールアドレス:" .$user->get('user_email'). "\r\n";
	$msg_body .= "お名前    :" .$user->get('display_name'). " 様\r\n";
	$msg_body .= "ID       :" .$user_id. "\r\n";
	$msg_body .= "所属     :" .$user_term->name. "\r\n";
	return $msg_body;
}

ちなみに $msg_body 以下をコメントアウトして直接 return $user_term->name; としても取得できません。
WP_Error が返ってきていることは分かっています。

何卒ご教示のほどよろしくお願いいたします。