gpt4 book ai didi

php - WooCommerce - 使用 "save_post" Hook 更新订单时发送通知电子邮件

转载 作者:搜寻专家 更新时间:2023-10-31 21:23:41 25 4
gpt4 key购买 nike

当创建新订单时,WooCommerce 会创建一个新的帖子,订单类型为 shop_order。所以我想使用 wordpress save_post 操作 Hook 发送订单的通知电子邮件。

我写了下面的代码:

add_action( 'save_post', 'notify_shop_owner_new_order', 10, 3 );
function notify_shop_owner_new_order( $post_ID, $post ) {
if( $post->post_type == 'shop_order' ) {
$headers = 'From: foo <foo@bar.com>';

$to = 'foo@bar.com';
$subject = sprintf( 'New Order Received' );
$message = sprintf ('Hello, musa ! Your have received a new order from .Check it out here :');

wp_mail( $to, $subject, $message, $headers );
}
}

但它不起作用。

如果我在不检查帖子类型的情况下使用下面的内容:

add_action( 'save_post', 'notify_shop_owner_new_order', 10, 3 );
function notify_shop_owner_new_order( $post_ID, $post ) {
$headers = 'From: foo <foo@bar.com>';

$to = 'foo@bar.com';
$subject = sprintf( 'New Order Received' );
$message = sprintf ('Hello, musa ! Your have received a new order from .Check it out here :');

wp_mail( $to, $subject, $message, $headers );
}

我不明白这是什么问题。我需要使用函数参数 $post$post_id 来获取帖子链接。

有什么帮助吗?

谢谢

最佳答案

您首先需要通过这种方式获取 $post 对象:

add_action( 'save_post', 'notify_shop_owner_new_order', 1, 2 );
function notify_shop_owner_new_order( $post_ID ){

// Get the post object
$post = get_post( $post_ID );

if($post->post_type == 'shop_order') {
$headers = 'From: musa <wordpress@muazhesam.com>';

$to = 'musa.ssmc42@gmail.com';
$subject = sprintf( 'New Order Received' );
$message = sprintf ('Hello, musa ! Your have received a new order from .Check it out here :');

wp_mail( $to, $subject, $message, $headers );
}
}

代码已经过测试并且可以工作......

代码位于您的事件子主题(或主题)的 function.php 文件中。或者也可以在任何插件 php 文件中。


相似答案:Adding 'Sale' category to products that are on sale using "save_post" hook

关于php - WooCommerce - 使用 "save_post" Hook 更新订单时发送通知电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40992717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com