我正在保存自定义订单元以订购电子邮件,但也需要在我的自定义模板上设置样式。如果我可以给p-tag提供一个包含元组件的类,但是我的类数组没有做到这一点,那将是最简单的。
我尝试过的:
function salesman_email_order_meta_fields( $fields, $sent_to_admin, $order ) {
$user_id = get_current_user_id();
$key = 'billing_salesman';
$single = true;
$current_user_has_discount = get_user_meta($user_id, $key, $single);
if( ! empty( $current_user_has_discount ) ){
$fields['_billing_salesman'] = array(
'label' => __( 'Sales Representative' ),
'value' => $current_user_has_discount,
'class' => array( 'salesRep' ),
);
}
$is_po = get_post_meta( $order->id, '_other_payment-admin-note', true );
if( ! empty( $is_po ) ){
$fields['_other_payment-admin-note'] = array(
'label' => __( 'PO Number' ),
'value' => $is_po,
'class' => array( 'poNum' ),
);
}
return $fields;
}
add_filter( 'woocommerce_email_order_meta_fields', 'salesman_email_order_meta_fields', 11, 3 );
如何在自定义订单电子邮件元字段中添加类,和/或在电子邮件模板上设置样式?
你应该使用钩在woocommerce_email_after_order_table
动作钩子中的自定义函数,在那里你可以轻松地设置这个html数据的样式:
add_action( 'woocommerce_email_after_order_table', 'add_tracking_number_to_order_email', 10, 4 );
function add_tracking_number_to_order_email( $order, $sent_to_admin, $plain_text, $email )
{
// (there is no current user ID for emails notifications)
$has_discount = get_user_meta( $order->get_user_id(), 'billing_salesman', true );
$po_number = get_post_meta( $order->get_id(), '_other_payment-admin-note', true );
if( empty( $has_discount ) && empty( $po_number ) ) return; // Exit if empty
// CSS style
$styles = '<style>
table.salesman-meta{width: 100%; font-family: \'Helvetica Neue\', Helvetica, Roboto, Arial, sans-serif;
color: #737373; border: 1px solid #e4e4e4; margin-bottom:8px;}
table.salesman-meta th, table.tracking-info td{text-align: left; border-top-width: 4px;
color: #737373; border: 1px solid #e4e4e4; padding: 12px; width:50%;}
table.salesman-meta td{text-align: left; border-top-width: 4px; color: #737373; border: 1px solid #e4e4e4; padding: 12px; width:50%;}
</style>';
// HTML Structure
$html_output = '<h2>'.__('Some title').'</h2>
<table class="salesman-meta" cellspacing="0" cellpadding="6">';
if( ! empty( $has_discount ) ){
$html_output .= '<tr class="sales-rep">
<th>' . __( 'Sales Representative' ) . '</th>
<td>' . $has_discount . '</td>
</tr>';
}
if( ! empty( $po_number ) ){
$html_output .= '<tr class="po-num">
<th>' . __( 'PO Number' ) . '</th>
<td>' . $po_number . '</td>
</tr>';
}
$html_output .= '</table><br>'; // HTML (end)
// Output styles CSS + HTML
echo $styles . $html_output;
}
此代码位于活动子主题(或主题)的function.php文件中,或者也可以放在任何插件文件中。
经过测试和工作(带有静态值)......