2017-08-26 70 views
1

当前电子邮件附在此处。我想添加一行说“卖家资源转到www.domain.com/slug”。我如何将此文本添加到此电子邮件的链接? (我有旁边0 PHP的技能,但试图学习)。将简单文本添加到Woocommerce电子邮件

enter image description here

if (! defined('ABSPATH')) { 
    exit; // Exit if accessed directly 
} 

?> 

<?php do_action('woocommerce_email_header', $email_heading, $email); ?> 

    <p><?php printf(__('Thanks for creating an account on %1$s. Your username is %2$s', 'woocommerce'), esc_html($blogname), '<strong>' . esc_html($user_login) . '</strong>'); ?></p> 

<?php if ('yes' === get_option('woocommerce_registration_generate_password') && $password_generated) : ?> 

    <p><?php printf(__('Your password has been automatically generated: %s', 'woocommerce'), '<strong>' . esc_html($user_pass) . '</strong>'); ?></p> 

<?php endif; ?> 

    <p><?php printf(__('You can access your account area to view your orders and change your password here: %s.', 'woocommerce'), make_clickable(esc_url(wc_get_page_permalink('myaccount')))); ?></p> 

<?php do_action('woocommerce_email_footer', $email); 
+1

您希望在哪里添加新的代码?有两个动作钩子,'woocommerce_email_header'和'woocommerce_email_footer',可能可以用于。 – helgatheviking

+0

我很想在“谢谢创建账户”一行之后添加它。我可以只复制当前<?php if(语句,但输入我自己的消息)的格式? 感谢! –

回答

0

你可以尝试加入这个片段到你的主题functions.php或最好在特定的网站插件:

function so_45897243_add_text_to_email($email) { 
    if('customer_new_account' == $email->id) { 
     echo "for seller resources go to www.domain.com/slug."; 
    } 
} 
add_action('woocommerce_email_footer', 'so_45897243_add_text_to_email', 5); 

您可能还需要

function so_45897243_add_text_to_email_plain($text) { 
    $new = "for seller resources go to www.domain.com/slug."; 
    return $new . "\n\n" . $text; 
} 
add_filter('woocommerce_email_footer_text', 'so_45897243_add_text_to_email_plain'); 

为纯文本电子邮件,但目前似乎没有办法限制它添加了哪些电子邮件。

或者您可以覆盖主题中的emails/customer-new-account.phpemails/plain/customer-new-account.php模板。然后你可以直接添加你的文字。我尽量保持我的模板覆盖率为最低限度,因为它将使WooCommerce在未来更容易升级。

编辑样品覆盖模板:

<?php 
/** 
* Customer new account email 
* 
* Save this template in yourtheme/woocommerce/emails/customer-new-account.php. 
* 
* @see   https://docs.woocommerce.com/document/template-structure/ 
* @author  WooThemes 
* @package  WooCommerce/Templates/Emails 
* @version  1.6.4 
*/ 

if (! defined('ABSPATH')) { 
    exit; // Exit if accessed directly 
} 

?> 

<?php do_action('woocommerce_email_header', $email_heading, $email); ?> 

    <p><?php printf(__('Thanks for creating an account on %1$s. Your username is %2$s', 'your-theme'), esc_html($blogname), '<strong>' . esc_html($user_login) . '</strong>'); ?></p> 

    <p><?php _e('For seller resources go to <a href="http://wwww.domain.com/slug">www.domain.com/slug</a>.', 'your-theme'); ?></p> 

<?php if ('yes' === get_option('woocommerce_registration_generate_password') && $password_generated) : ?> 

    <p><?php printf(__('Your password has been automatically generated: %s', 'your-theme'), '<strong>' . esc_html($user_pass) . '</strong>'); ?></p> 

<?php endif; ?> 

    <p><?php printf(__('You can access your account area to view your orders and change your password here: %s.', 'your-theme'), make_clickable(esc_url(wc_get_page_permalink('myaccount')))); ?></p> 

<?php do_action('woocommerce_email_footer', $email); 
+0

感谢您的信息!我基本上有0 PHP知识,并尝试在我学习时一起破解。太多的直接覆盖(尽管这可以在儿童主题中起作用)。现在,如果我只是在该cutomer-new-account.php文件中输入额外的一行,我该如何解决这个问题?谢谢! –

+0

Docs在[覆盖模板]上(https://docs.woocommerce.com/document/template-structure/)。一旦将相关模板复制到主题中,您可以在需要的地方添加文字。 – helgatheviking

+0

谢谢 - 我只是不知道如何在覆盖中实际编写php代码 –

相关问题