亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將 Woocommerce 多個與會者自定義元數據包含到新訂單電子郵件中

如何將 Woocommerce 多個與會者自定義元數據包含到新訂單電子郵件中

PHP
精慕HU 2023-08-19 17:32:06
受 Woocommerce 中將自定義元數據作為帶有標題的 html 樣式表添加到電子郵件中的啟發,我使用以下代碼來顯示與會者信息:add_action('woocommerce_email_order_details', 'action_after_email_order_details', 25, 4 );function action_after_email_order_details( $order, $sent_to_admin, $plain_text, $email ){? ?$event = get_post_meta( $order->get_id(), 'WooCommerceEventsOrderTickets', true );? ?if( ! is_array($event) ) return;? ?$event = isset($event[1][1]) ? $event[1][1] : '';? ?if( sizeof($event) == 0 ) return;? ?$custom = isset($event['WooCommerceEventsCustomAttendeeFields']) ? $event['WooCommerceEventsCustomAttendeeFields'] : '';? ?// Set our array of needed data? ?$fields_array = [? ? __('First name')? ? => isset($event['WooCommerceEventsAttendeeName']) ? $event['WooCommerceEventsAttendeeName'] : '',? ? __('Last name')? ? ?=> isset($event['WooCommerceEventsAttendeeLastName']) ? $event['WooCommerceEventsAttendeeLastName'] : '',? ?];? ?if( ! $event ) return;? ?// The HTML Structure? ?$html_output = '<h2>' . __('Attendee Info') . '</h2>? ?<div class="discount-info">? ? ? <table cellspacing="0" cellpadding="6"><tbody>';? ?// Loop though the data array to set the fields? ?foreach( $fields_array as $label => $value ):? ?if( ! empty($value) ):? ? ?$html_output .= '<tr>? ? ? ? <th>' . $label . '</th>? ? ? ? <td>' . $value . '</td>? ? </tr>';? ?endif;? ?endforeach;? ?$html_output .= '</tbody></table>? ?</div><br>'; // HTML (end)}但它僅顯示第一個與會者的信息。是否有一個選項可以包含元數據(僅名字和姓氏)但對于woocommerce_email_order_details掛鉤內的所有(多個)與會者?
查看完整描述

1 回答

?
慕虎7371278

TA貢獻1802條經驗 獲得超4個贊

好吧,我明白了,如果有人需要的話,這是這個函數:


add_action('woocommerce_email_order_details', 'action_after_email_order_details', 25, 4 );

function action_after_email_order_details( $order, $sent_to_admin, $plain_text, $email ) {

$events = get_post_meta( $order->get_id(), 'WooCommerceEventsOrderTickets', true );


if( ! is_array($events) ) return;


$events = isset($events[1]) ? $events[1] : '';


if( ! $events ) return;


// The HTML Structure

$html_output = '<h2>' . __('Attendee Info') . '</h2>

<div class="attendees-info">

    <table cellspacing="0" cellpadding="6"><tbody>';


$i = 1;

foreach( $events as $event ) :


    if( sizeof($event) == 0 ) return;

    // get only first and last name for each attendee

    $attendeeFirstName = isset($event['WooCommerceEventsAttendeeName']) ? $event['WooCommerceEventsAttendeeName'] : '';

    $attendeeLastName = isset($event['WooCommerceEventsAttendeeLastName']) ? $event['WooCommerceEventsAttendeeLastName'] : '';


    $html_output .= '<tr>

    <th>Attendee '. $i . '</th>

    <td>' . $attendeeFirstName .' '.$attendeeLastName. '</td>

    </tr>';


    $i++;


endforeach; 


$html_output .= '</tbody></table>

</div><br>'; // HTML (end)


// The CSS styling

$styles = '<style>

    .attendees-info table{width: 100%; font-family: \'Helvetica Neue\', Helvetica, Roboto, Arial, sans-serif;

        color: #737373; border: 1px solid #e4e4e4; margin-bottom:8px;}

    .attendees-info table th, table.tracking-info td{text-align: left; border-top-width: 4px;

        color: #737373; border: 1px solid #e4e4e4; padding: 12px; width:58%;}

    .attendees-info table td{text-align: left; border-top-width: 4px; color: #737373; border: 1px solid #e4e4e4; padding: 12px;}

</style>';


// The Output CSS + HTML

echo $styles . $html_output;

}


查看完整回答
反對 回復 2023-08-19
  • 1 回答
  • 0 關注
  • 102 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號