2017-05-15 14 views
-2

woocommerceで商品名のショートコードを知りたい。一部のメールの件名に商品名を追加したいと思います。しかし、多くの検索をしても、商品名を表示するショートコードは見つかりませんでした。誰かが助けてくれましたか?Woocommerceでの商品名のショートコード

答えて

1

電子メールの件名に製品の名前を含めるためのショートコードがないため、簡単な方法はありません。あなたの子供のテーマのfunction.phpファイルにFTPでいくつかのコードを追加する必要があります。

私は新しい受注対象にフックし、既定値(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; 
} 

私はコードをテストしていませんので、ご注意ください。

3

WooCommerceには製品名を表示するためのショートコードはありませんが、自分で簡単に作成することはできます。

例:

function displayProductName($item) { 
    $productName = get_the_title($item['id']); 
    return $productName; 
} 

add_shortcode('product_name', 'displayProductName'); 

使用法:

があなたのfunctions.phpファイルに上記のコードを追加して、出力にidは、問題の製品のIDです製品のタイトルを、[product_name id="10"]を使用しています。上記の例では、内蔵のWordPressの機能get_the_title()を使用しています。ショートコードを作成する方法についてhttps://developer.wordpress.org/reference/functions/get_the_title/

詳しい情報はここで見つけることができます:https://developer.wordpress.org/reference/functions/add_shortcode/

+0

は、アイテムIDを必要としないショートを持っていることは可能ですか?私は実際に商品が出荷された後に顧客に送られるカスタム電子メールにショートコードを追加しようとしています。アイテムの状態が出荷に変わるとすぐにメールが送信されるため、各メールにIDを追加することはできません。 –

+0

同様の構文、 '{product_title}'を使うことができます。私がお勧めするのは、デフォルトのWooCommerce電子メールがどのように設定されているかを見ていることです。あなたが使用できる「完了した注文」というものがあります。すべての電子メールテンプレートをカスタマイズすることができます(または新しいテンプレートを作成することもできます)。 WooCommerce - >設定 - >電子メール。 – Optimae

関連する問題