将类添加到WooCommerce电子邮件通知中的自定义元数据中



我正在将自定义订单元件保存到订购电子邮件中,但也需要在我的自定义模板上样式。如果我能在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 Action Hook中的自定义功能,您将能够轻松地样式此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文件中。

测试和工作(具有静态值)

最新更新