2016-10-26 9 views
0

私はいくつかの試みを行いましたが、変数$downloadsを入力した電子メールでArrayが表示されます。残りの部分は正しく表示され、タイトルとページへのリンクが表示されます。 しかし、ダウンロード可能な製品のURLはありません。URLにダウンロード可能なファイルを電子メールで表示する方法

これはfunctions.phpで私のコードです:

add_action('draft_to_publish', 'my_product_add'); 

function my_product_add($post) 
{ 
    if ($post->post_type == "product") { 
     $productId = $post->ID; 

     $post_title = get_the_title($post_id); 
     $tld_prod_url = esc_url(get_permalink($post_id)); 
     $subject = "Product Added Notification"; 

     $product = new WC_Product($post_id); 
     $downloads.= $product->get_files(); 

     $to = "[email protected]"; 
     $body.= "The following product was added: \n\n" . $post_title . "\n" . $tld_prod_url . "\n" . $downloads . "\n\nThanks,\n"; 
     wp_mail($to, $subject, $body); 
    } 
} 

答えて

2

ほとんどの場合は$downloads.= $product->get_files()文字列変数にarrayを割り当てようとします。あなたは、その配列を変換する必要があります:あなたは迷惑なHTML形式の電子メールメッセージを主張する場合には

$downloads.= implode("\r\n", $product->get_files()); 

:だろう通常の電子メールメッセージの

$downloads.= implode("<br>\r\n", $product->get_files()); 
+0

が空白の場合、私は間違ったコールクラス "WC_Product"をやっていると思います。しかし、私は "ダウンロード可能なファイル"のためのものを見つけることができません。 – ctovelox

0

$downloadsは配列でありますしたがって、それを直接出力することはできません。 foreachループを使用して配列を反復処理し、文字列を作成する必要があります。例:

$downloadsString = ''; 

foreach($downloads as $download){ 
    $downloadsString = "<a href='".$download['file']."'>".$download['name']."</a>\r\n"; 
} 

$body.= "The following product was added: \n\n" . $post_title . "\n" . $tld_prod_url . "\n" . $downloadsString . "\n\nThanks,\n"; 

私は配列のインデックスを知らないので、これは一例に過ぎませんが、それを行う方法です。

関連する問題