【问题标题】:Adding a static image to WooCommerce email template将静态图像添加到 WooCommerce 电子邮件模板
【发布时间】:2015-01-02 16:43:45
【问题描述】:

我想在我的 WooCommerce 电子邮件模板中添加一些静态图标。但是,我正在努力让正确的代码在模板文件中工作。请注意,我不是 Wordpress 专家,但我熟悉模板文件和语言。

我已将电子邮件模板移动到我的主题目录中,以便能够成功覆盖它们。

我尝试使用标准的 Wordpress 方式链接到静态图片,添加图片的位置,在这样的主题中:

<img src="<?php bloginfo('template_url'); ?>/woocommerce/emails/images/my-img.jpg" />

...这不起作用。

我很欣赏 WooCommerce 执行此操作的方式可能略有不同。是否有任何 WooCommerce 专家有任何想法?我想要的可能吗?

这是一个与 WooCommerce 捆绑在一起的示例电子邮件模板:

<?php
/**
 * Admin new order email
 *
 * @author WooThemes
 * @package WooCommerce/Templates/Emails/HTML
 * @version 2.0.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. Their order is as follows:', 'woocommerce' ), $order->billing_first_name . ' ' . $order->billing_last_name ); ?></p>

<?php do_action( 'woocommerce_email_before_order_table', $order, true, false ); ?>

<h2><a 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 cellspacing="0" cellpadding="6" style="width: 100%; border: 1px solid #eee;" border="1" bordercolor="#eee">
    <thead>
        <tr>
            <th scope="col" style="text-align:left; border: 1px solid #eee;"><?php _e( 'Product', 'woocommerce' ); ?></th>
            <th scope="col" style="text-align:left; border: 1px solid #eee;"><?php _e( 'Quantity', 'woocommerce' ); ?></th>
            <th scope="col" style="text-align:left; border: 1px solid #eee;"><?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 scope="row" colspan="2" style="text-align:left; border: 1px solid #eee; <?php if ( $i == 1 ) echo 'border-top-width: 4px;'; ?>"><?php echo $total['label']; ?></th>
                        <td style="text-align:left; border: 1px solid #eee; <?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 ); ?>

<h2><?php _e( 'Customer details', 'woocommerce' ); ?></h2>

<?php if ( $order->billing_email ) : ?>
    <p><strong><?php _e( 'Email:', 'woocommerce' ); ?></strong> <?php echo $order->billing_email; ?></p>
<?php endif; ?>
<?php if ( $order->billing_phone ) : ?>
    <p><strong><?php _e( 'Tel:', 'woocommerce' ); ?></strong> <?php echo $order->billing_phone; ?></p>
<?php endif; ?>

<?php wc_get_template( 'emails/email-addresses.php', array( 'order' => $order ) ); ?>

<?php do_action( 'woocommerce_email_footer' ); ?>

这是 GitHub 上该模板的链接:https://github.com/woothemes/woocommerce/blob/master/templates/emails/admin-new-order.php

任何帮助将不胜感激,谢谢!

【问题讨论】:

  • 这是在儿童主题中吗?
  • 不,这是主题。

标签: php wordpress email templates woocommerce


【解决方案1】:

试试这个:

<img src="<?php echo get_template_directory_uri(); ?>/woocommerce/emails/images/my-img.jpg" />

【讨论】:

  • 谢谢!我会尽力让你知道我的进展情况。
猜你喜欢
  • 2021-03-30
  • 2014-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-06
  • 1970-01-01
  • 1970-01-01
  • 2015-11-20
相关资源
最近更新 更多