更改WooCommerce电子邮件方式
问题描述:
所以......这两个PHP脚本: 标题:更改WooCommerce电子邮件方式
<?php
/**
* Email Header
*
* @author WooThemes
* @package WooCommerce/Templates/Emails
* @version 2.4.0
*/
if (! defined('ABSPATH')) {
exit; // Exit if accessed directly
}
?>
<!DOCTYPE html>
<html dir="<?php echo is_rtl() ? 'rtl' : 'ltr'?>">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title><?php echo get_bloginfo('name', 'display'); ?></title>
</head>
<body <?php echo is_rtl() ? 'rightmargin' : 'leftmargin'; ?>="0" marginwidth="0" topmargin="0" marginheight="0" offset="0">
<div id="wrapper" dir="<?php echo is_rtl() ? 'rtl' : 'ltr'?>">
<table border="0" cellpadding="0" cellspacing="0" height="100%" width="100%">
<tr>
<td align="center" valign="top">
<div id="template_header_image">
<?php
if ($img = get_option('woocommerce_email_header_image')) {
echo '<p style="margin-top:0;"><img src="' . esc_url($img) . '" alt="' . get_bloginfo('name', 'display') . '" /></p>';
}
?>
</div>
<table border="0" cellpadding="0" cellspacing="0" width="600" id="template_container">
<tr>
<td align="center" valign="top">
<!-- Header -->
<table border="0" cellpadding="0" cellspacing="0" width="600" id="template_header">
<tr>
<td id="header_wrapper">
<h1><?php echo $email_heading; ?></h1>
</td>
</tr>
</table>
<!-- End Header -->
</td>
</tr>
<tr>
<td align="center" valign="top">
<!-- Body -->
<table border="0" cellpadding="0" cellspacing="0" width="600" id="template_body">
<tr>
<td valign="top" id="body_content">
<!-- Content -->
<table border="0" cellpadding="20" cellspacing="0" width="100%">
<tr>
<td valign="top">
<div id="body_content_inner">
和内容:
<?php
/**
* Admin new order email
*
* @author WooThemes
* @package WooCommerce/Templates/Emails/HTML
* @version 2.4.0
*/
if (! defined('ABSPATH')) {
exit; // Exit if accessed directly
}
?>
<?php do_action('woocommerce_email_header', $email_heading); ?>
<p><?php printf(__('You have received an order from %s. The order is as follows:', 'woocommerce'), $order->get_formatted_billing_full_name()); ?></p>
<?php do_action('woocommerce_email_before_order_table', $order, true, false); ?>
<h2><a class="link" href="<?php echo admin_url('post.php?post=' . $order->id . '&action=edit'); ?>"><?php printf(__('Order #%s', 'woocommerce'), $order->get_order_number()); ?></a> (<?php printf('<time datetime="%s">%s</time>', date_i18n('c', strtotime($order->order_date)), date_i18n(wc_date_format(), strtotime($order->order_date))); ?>)</h2>
<table class="td" cellspacing="0" cellpadding="6" style="width: 100%; font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;" border="1">
<thead>
<tr>
<th class="td" scope="col" style="text-align:left;"><?php _e('Product', 'woocommerce'); ?></th>
<th class="td" scope="col" style="text-align:left;"><?php _e('Quantity', 'woocommerce'); ?></th>
<th class="td" scope="col" style="text-align:left;"><?php _e('Price', 'woocommerce'); ?></th>
</tr>
</thead>
<tbody>
<?php echo $order->email_order_items_table(false, true); ?>
</tbody>
<tfoot>
<?php
if ($totals = $order->get_order_item_totals()) {
$i = 0;
foreach ($totals as $total) {
$i++;
?><tr>
<th class="td" scope="col" colspan="2" style="font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif; text-align:left; <?php if ($i == 1) echo 'border-top-width: 4px;'; ?>"><?php echo $total['label']; ?></th>
<td class="td" scope="col" style="text-align:left; <?php if ($i == 1) echo 'border-top-width: 4px;'; ?>"><?php echo $total['value']; ?></td>
</tr><?php
}
}
?>
</tfoot>
</table>
<?php do_action('woocommerce_email_after_order_table', $order, true, false); ?>
<?php do_action('woocommerce_email_order_meta', $order, true, false); ?>
<?php do_action('woocommerce_email_customer_details', $order, $sent_to_admin, $plain_text); ?>
<?php do_action('woocommerce_email_footer'); ?>
创建一个电子邮件总是那张2页。像这样:
我需要限制的间距尽量使其适应到1页上。
任何人都可以建议如何调整来做到这一点?
答
您可以通过overriding the WooCommerce templates覆盖电子邮件的格式。基本上,您可以将您希望覆盖的文件从/wp-content/plugins/woocommerce/templates
复制到主题中名为“woocommerce”的目录,例如/wp-content/themes/YOURTHEME/woocommerce/emails/admin-new-order.php
。然后,您可以根据需要更改HTML和CSS以实现所需的布局。
另一个可能的选择是使用插件WP Better Emails和一些MODS在functions.php
,我写了我的网站:
CSS减少一些填充? – helgatheviking