将产品 link 添加到 WooCommerce 中的缺货电子邮件通知
Add product link to out of stock email notification in WooCommerce
我需要将产品 link 放入发送给管理员的缺货电子邮件中。
尽管据我所知,我使用了正确的过滤器挂钩,但这段代码没有得到预期的结果?有什么建议吗?
add_filter('woocommerce_email_content_no_stock', 'add_product_url_to_out_of_stock_email', 10, 2);
function add_product_url_to_out_of_stock_email( $message, $product ) {
global $product; // with or without this is the same result
return $message ."<br>\n". get_edit_post_link( $product->get_id() );
}
您可以 add/use WC_Product::get_permalink() – 产品固定链接来自定义 $message
以满足您的需求。
所以你得到:
function filter_woocommerce_email_content_no_stock ( $message, $product ) {
// Edit message
$message = sprintf( __( '%s is out of stock.', 'woocommerce' ), '<a href="' . $product->get_permalink() . '">' . html_entity_decode( wp_strip_all_tags( $product->get_formatted_name() ), ENT_QUOTES, get_bloginfo( 'charset' ) ) . '</a>' );
return $message;
}
add_filter( 'woocommerce_email_content_no_stock', 'filter_woocommerce_email_content_no_stock', 10, 2 );
重要提示:这个答案默认情况下不起作用因为wp_mail()用作邮件功能,其中内容类型是 text/plain
不允许使用 HTML
因此,要使用 WordPress wp_mail() 发送 HTML
格式的电子邮件,请添加这段额外的代码
function filter_wp_mail_content_type() {
return "text/html";
}
add_filter( 'wp_mail_content_type', 'filter_wp_mail_content_type', 10, 0 );
相关:
我需要将产品 link 放入发送给管理员的缺货电子邮件中。
尽管据我所知,我使用了正确的过滤器挂钩,但这段代码没有得到预期的结果?有什么建议吗?
add_filter('woocommerce_email_content_no_stock', 'add_product_url_to_out_of_stock_email', 10, 2);
function add_product_url_to_out_of_stock_email( $message, $product ) {
global $product; // with or without this is the same result
return $message ."<br>\n". get_edit_post_link( $product->get_id() );
}
您可以 add/use WC_Product::get_permalink() – 产品固定链接来自定义 $message
以满足您的需求。
所以你得到:
function filter_woocommerce_email_content_no_stock ( $message, $product ) {
// Edit message
$message = sprintf( __( '%s is out of stock.', 'woocommerce' ), '<a href="' . $product->get_permalink() . '">' . html_entity_decode( wp_strip_all_tags( $product->get_formatted_name() ), ENT_QUOTES, get_bloginfo( 'charset' ) ) . '</a>' );
return $message;
}
add_filter( 'woocommerce_email_content_no_stock', 'filter_woocommerce_email_content_no_stock', 10, 2 );
重要提示:这个答案默认情况下不起作用因为wp_mail()用作邮件功能,其中内容类型是 text/plain
不允许使用 HTML
因此,要使用 WordPress wp_mail() 发送 HTML
格式的电子邮件,请添加这段额外的代码
function filter_wp_mail_content_type() {
return "text/html";
}
add_filter( 'wp_mail_content_type', 'filter_wp_mail_content_type', 10, 0 );
相关: