栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

WooCommerce订单相关预订的自定义电子邮件主题占位符

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

WooCommerce订单相关预订的自定义电子邮件主题占位符

首先,您的主要问题是:

如何从订单(Id)获取预订ID?

由于一个订单可以有很多预订(项目),因此您可以通过使用WordPress

WPDB
类和可用方法的非常简单且轻巧的SQL查询来获取针对邮寄上级的预订ID(即订单ID)。

然后,您将能够从该订单的一次预订中获得开始日期,并将其设置为电子邮件通知主题的自定义占位符:

// Custom function to get the booking Ids from an order Id (with an SQL query)function wc_get_booking_ids( $order_id ){    global $wpdb;    return $wpdb->get_col( $wpdb->prepare( "SELECt ID FROM {$wpdb->posts} WHERe post_type = 'wc_booking' AND post_parent =  %d", $order_id ) );}// For woocommerce versions up to 3.2add_filter( 'woocommerce_email_format_string' , 'filter_email_format_string', 20, 2 );function filter_email_format_string( $string, $email ) {    if( ! is_a($email->object, 'WC_Order') ) return; // Exit    $booking_ids = wc_get_booking_ids( $email->object->get_id() );    if( ! empty($booking_ids) ) {        // Get the instance of the WC_Booking object from one booking Id        $booking = new WC_Booking( reset($booking_ids) );        if( is_a($booking, 'WC_Booking') && method_exists($booking, 'get_start_date') ) { // Additional placeholders array (one by line) $custom_placeholders = array(     '{start_date}' => $start_date = $booking->get_start_date(), ); $string = str_replace( array_keys( $custom_placeholders ), array_values( $custom_placeholders ), $string );        }    }    return $string;}

代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试和工作。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/517519.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号