我想知道woocommerce中产品名称的短代码。我想在一些电子邮件的主题中添加产品名称。但是尽管搜索了很多,我找不到任何显示产品名称的短代码。有人可以帮忙吗?
答案 0 :(得分:4)
WooCommerce没有显示产品名称的短代码,但是,您可以轻松创建自己的产品名称。
示例:
function displayProductName($item) {
$productName = get_the_title($item['id']);
return $productName;
}
add_shortcode('product_name', 'displayProductName');
用法:
将以上代码添加到您的functions.php
文件中,然后使用[product_name id="10"]
输出产品标题,其中id
是相关产品的ID。上面的示例使用get_the_title()
内置的WordPress函数:https://developer.wordpress.org/reference/functions/get_the_title/
有关如何创建短代码的更多信息,请访问:https://developer.wordpress.org/reference/functions/add_shortcode/
答案 1 :(得分:1)
没有简单的方法可以做到这一点,因为在电子邮件主题中没有包含产品名称的短代码。您需要通过FTP在子主题的function.php文件中添加一些代码。
我已经编写了这个代码,它将挂钩新订单主题,并将默认值(WooCommerce设置页面中的默认值)更改为New Customer Order (#Some order number) from Some On - date; Products: Product name1; Product name2
下面的默认值。
add_filter('woocommerce_email_subject_new_order', 'change_the_new_order_email_subject', 1, 2);
function change_the_new_order_email_subject( $subject, $order ) {
//get the products' name from the order
$product_name = '';
foreach($order->get_items() as $item) {
$product_name .= $item['name'] . "; ";
}
$subject = sprintf( 'New Customer Order (# %s) from %s %s - %s; Products: %s', $order->id, $order->billing_first_name, $order->billing_last_name, $order->order_date, $product_name );
return $subject;
}
请注意,我还没有测试过代码。