2017-02-19 13 views
-1

読んでいただきありがとうございます。ちょうどWooCommerceに関する問題があったので、私は以下の請求フィールドの簡単な説明のチェックアウトページを追加したいと思います。WooCommerceのチェックアウトページに簡単な説明を追加するには

以下の請求フィールドのWooCommerceチェックアウトページに簡単な説明を追加するには?

カスタムコードを追加しようとしましたが、エラーで失敗しました。

add_filter('woocommerce_get_item_data', 'wc_checkout_description_so_27900033', 10, 2); 

function wc_checkout_description_so_27900033($other_data, $cart_item) 
{ 
    $post_data = get_post($cart_item['product_id']); 
    $other_data[] = array('name' => 'description', 'value' => $post_data->post_excerpt); 
    return $other_data; 
} 

私はこのコードを使用しましたが、内部製品情報テーブルを表示しています。

enter image description here

+0

この機能を使用しようとしたときのエラーは何ですか?返信ありがとう! –

+0

!私の英語力は良くないので、私は韓国人です。コードは私が望むところには表示されません。このコードは "

"にのみ表示されています。私はどこにいてもそれを見せたい。 –

+0

カートに複数の商品がある場合、どの商品説明を表示するかはどのように決定しますか? – helgatheviking

答えて

2

get_post()を呼び出すための本当の理由はありません。 $productオブジェクトは$cart_itemアレイに格納され、$postオブジェクトは$productの内部に格納されます。これはカートの中とチェックアウトに表示される製品の抜粋(別名短い説明)を取得します。今すぐ、woocommerce_get_item_dataフィルタが表示される唯一の場所はカートクラスにあるため、受信した注文ページ、アカウントエリア、メールなどに説明が表示される可能性は低いです。

WooCommerce 2.7はWooCommerceを大幅に書き直したものです。$_product->post->post_excerptは、製品のプロパティに直接アクセスするというPHPの通知につながります。だから私は2.6と2.7の両方の互換性のあるアプローチを提案しました。

add_filter('woocommerce_get_item_data', 'wc_checkout_description_so_27900033', 10, 2); 

function wc_checkout_description_so_27900033($other_data, $cart_item) 
{ 
    $_product = $cart_item['data']; 
    // Use this for WC2.7 
    //$other_data[] = array('name' => 'description', 'value' => $_product->get_short_description()); 

    // Use this for WC2.6 
    $other_data[] = array('name' => 'description', 'value' => $_product->post->post_excerpt); 

    return $other_data; 
} 
+0

お返事ありがとうございます。私はこのコードを試してみましょう:)まあ..このコードはどこに欲しいですか?私の問題は、製品テーブルに表示されているコードです –

+1

はい、このコードは製品表の説明を表示します。あなたの質問を編集して、その説明が表示されるべき場所を説明してください。 – helgatheviking

+0

説明が十分ではありません。今私は写真を追加します。 –

関連する問題