当我们安装主题和插件时,都会向…
没有什么比拥有有关您所下订单的状态信息或任何对订单有用的其他数据更好的了。默认情况下,WooCommerce将链接到订单的每个操作存储在数据库中。当您编辑订单时,可在侧边栏中的管理中找到这一系列操作。但是您的客户无权访问此操作列表。好消息是您可以轻松地将其添加到WooCommerce发送的任何电子邮件中。在这篇文章中,我将向您展示添加订单注释以添加完整的电子邮件(这是在订单状态标记为完成时发送的电子邮件)。但是您也可以使用该方法将订单注释添加到任何其他电子邮件中。
自定义模板或挂钩?
提醒一下:WooCommerce中的所有电子邮件都是使用模板提供的,您可以通过创建自己的模板来覆盖默认模板。基本上,自定义模板允许您覆盖WooCommerce默认文件并改用您自己的自定义文件。这是一个快速教程,将向您介绍如何创建自定义模板:http://docs.woothemes.com/document/template-structure/。
您可以在自定义模板中添加订单注释,但是我想向您展示使用挂钩的另一种方法。这个想法不是使用自定义模板,而是仅使用主题文件夹中的functions.php文件。
订单备注是WordPress注释
订单注释是WordPress主题注释,其特定类型为“ order_note”,因此您可以使用get_comments()函数将WordPress WP_Query类应用于注释。
我们需要使用的钩子是一个名为“ woocommerce_email_order_meta”的操作。这个想法是在WooCommerce流程中加载此操作时调用自定义函数。
使用get_comments()简化了检索订单记录的方式,我们只需要确保我们要使用帖子ID和“批准”注释属性列出要链接到特定订单的注释,这意味着该注释(在这种情况下,由WooCommerce验证)。
代码
这是放置在主题文件夹中的functions.php文件中的代码:
add_action( 'woocommerce_email_order_meta', 'woo_add_order_notes_to_email' ); function woo_add_order_notes_to_email() { global $woocommerce, $post; $args = array( 'post_id' => $post->ID, 'approve' => 'approve', 'type' => 'order_note' ); $notes = get_comments( $args ); echo '<h2>' . __( 'Order Notes', 'woocommerce' ) . '</h2>'; echo '<ul class="order_notes">'; if ( $notes ) { foreach( $notes as $note ) { $note_classes = get_comment_meta( $note->comment_ID, 'is_customer_note', true ) ? array( 'customer-note', 'note' ) : array( 'note' ); ?> <li rel="comment_ID ) ; ?>" class=""> <div class="note_content"> comment_content ) ) ); ?> </div> <p class="meta"> comment_date_gmt ), current_time( 'timestamp', 1 ) ) ); ?> </p> </li> <?php } } else { echo '<li>' . __( 'There are no notes for this order yet.', 'woocommerce' ) . '</li>'; } echo '</ul>'; }
如您所见,此代码非常简单,没有什么真正复杂的,因此您可以轻松地对其进行自定义。请注意使用一些不错的功能,例如human_time_diff(),wptexturize()或wp_kses_post()。
微信扫描二维码联系我们!
我们在微信上24小时期待你的声音
提供外贸路由器设备产品,轻松翻墙,解答:WP主题推荐,WP网站建设,Google SEO,百度SEO,专业服务器环境搭建等!
需要提供WordPress主题/插件的汉化服务可以随时联系我们!另外成品WordPress网站以及半成品WordPress网站建设,海外Google SEO优化托管服务,百度SEO优化托管服务,Centos/Debian服务器WP专用环境搭建,WP缓存服务器搭建,我们都是你的首选,拥有多年WP开源程序服务经验,我们一直在坚持客户体验,没有最好,只有更好!