Woocommerce中产品名称的简码

时间:2017-05-15 08:14:00

标签: php wordpress woocommerce

我想知道woocommerce中产品名称的短代码。我想在一些电子邮件的主题中添加产品名称。但是尽管搜索了很多,我找不到任何显示产品名称的短代码。有人可以帮忙吗?

2 个答案:

答案 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;
}

请注意,我还没有测试过代码。