私が作業しているサイトでwoocommerceを使用しています。チェックアウトページの上部に現在の製品サムネイルを表示したいので、彼が買おうとしているものを見てみましょう。チェックアウト時に商品を受け取るWooCommerceのページ
しかし、私はそうする方法を見つけることができません。
もっとも近いのはWC::cart->get_cart()
ですが、これはすべての製品の一覧を出力します。
どうすればこの問題を解決できますか?
ありがとうございました
私が作業しているサイトでwoocommerceを使用しています。チェックアウトページの上部に現在の製品サムネイルを表示したいので、彼が買おうとしているものを見てみましょう。チェックアウト時に商品を受け取るWooCommerceのページ
しかし、私はそうする方法を見つけることができません。
もっとも近いのはWC::cart->get_cart()
ですが、これはすべての製品の一覧を出力します。
どうすればこの問題を解決できますか?
ありがとうございました
はい、カスタム関数の作成が可能です。
add_action('woocommerce_before_checkout_form', 'displays_cart_products_feature_image');
function displays_cart_products_feature_image() {
foreach (WC()->cart->get_cart() as $cart_item) {
$product = $cart_item['data'];
if(!empty($product)){
// $image = wp_get_attachment_image_src(get_post_thumbnail_id($product->ID), 'single-post-thumbnail');
echo $product->get_image();
// to display only the first product image uncomment the line bellow
// break;
}
}
}
このコードスニペットは、あなたのアクティブな子テーマやテーマ
のfunction.phpファイルに行く:、ちょうどあなたのヘッダーのテーマの後にチェックアウトページの先頭にそれらの画像を表示するには、このコードを使用する
get_image()機能でいくつかのオプションを追加して、画像のプロパティを変更することができます。
このコードは、他のUSAGES
テストされ、完全に機能している - あなたはまた、それを使用することができます:
1)以下の他チェックアウト WooCommerce フックで(スニペットコードの最初の行をこれに置き換えます):
の•前に顧客の詳細:
add_action('woocommerce_checkout_before_customer_details', 'displays_cart_products_feature_image');
顧客の詳細の後•:
add_action('woocommerce_checkout_after_customer_details', 'displays_cart_products_feature_image');
•順レビュー前:
add_action('woocommerce_checkout_before_order_review', 'displays_cart_products_feature_image');
2)直接あなたwoocommerce templates(このスニペットコードの内部機能し続ける。あなたのアクティブな子テーマやテーマのPHPファイル):<?php displays_cart_products_feature_image(); ?>
function displays_cart_products_feature_image() {
foreach (WC()->cart->get_cart() as $cart_item) {
$product = $cart_item['data'];
if(!empty($product)){
// $image = wp_get_attachment_image_src(get_post_thumbnail_id($product->ID), 'single-post-thumbnail');
echo $product->get_image();
// to display only the first product image uncomment the line bellow
// break;
}
}
}
は次に、あなただけのtemplate file内でこれの1を貼り付けます: displays_cart_products_feature_image();
参考文献:
最初の解決策は魅力のように働いています、ありがとうございます! – Avishay28
'$ cart_item ['data']'はすでに 'WC_Product'オブジェクトを持っていますので、再度インスタンス化する必要はありません。 – rram
@rramそうですね、ありがとう...コードを更新しました*(これは古い回答でした)* – LoicTheAztec
StackOverflowのへようこそ、あなたの質問についてのコンテキストを与えるために多くのコードを含めてください。 – FishStix
ようこそStackoverflowへ、あなたは本当に何をしたいですか?チェックアウトページにはカート内の商品しかありません。 質問をクリアしてください –
@LoicTheAztecあなたは、私は過去2日間少し忙しかったです。あなたのソリューションは機能し、私は答えを受け入れました。ありがとうございました – Avishay28