Alih keluar terma dan syarat daripada halaman daftar keluar WooCommerce apabila hanya produk tertentu berada dalam troli
P粉245003607
2023-07-30 10:35:54
<p>Saya menjual tiket acara dan menerima sumbangan di https://development.pittsburghconcertsociety.org. Apabila seseorang membeli tiket, mereka mesti bersetuju dengan dasar COVID. Tetapi apabila seseorang hanya "membeli" derma, iaitu mereka hanya meletakkan produk derma ke dalam troli mereka, mereka tidak perlu bersetuju dengan dasar COVID. Chatbot sokongan WooCommerce menyediakan kod berikut, tetapi ia tidak berfungsi: </p>
<pre class="brush:php;toolbar:false;">function hide_terms_for_specific_product( $woocommerce_checkout_fields ) {
// Semak sama ada produk tertentu adalah satu-satunya item dalam troli
if (WC()->cart) {
$cart_items = WC()->cart->get_cart();
$specific_product_found = palsu;
foreach ( $cart_item sebagai $cart_item ) {
// Gantikan '123' dengan ID produk tertentu
if ($cart_item['product_id'] == 551 ) {
$specific_product_found = benar;
pecah;
}
}
// Sembunyikan terma dan syarat untuk produk tertentu
jika ( $specific_product_found ) {
unset( $woocommerce_checkout_fields['terms'] );
}
}
kembalikan $woocommerce_checkout_fields;
}
add_filter( 'woocommerce_checkout_fields', 'hide_terms_for_specific_product' );</pre>
<p>ID produk derma ialah 551). Ringkasnya, saya mahu mempunyai kotak semak/keperluan T&C jika terdapat tiket dan produk derma dalam troli, tetapi T&C tidak diperlukan jika hanya terdapat produk derma dalam troli. Dalam kes ini, tidak cukup dengan hanya menyembunyikan T&C, ia juga tidak diperlukan. </p><p>Selain itu, jika kami menjual item, adalah bagus untuk menambah berbilang ID produk. </p><p><br /></p>
Kod di bawah akan mengalih keluar sepenuhnya keperluan T&C apabila hanya produk tertentu yang ada dalam troli:
Kod hendaklah diletakkan dalam fail functions.php tema kanak-kanak aktif, atau diletakkan dalam pemalam. Telah diuji dan disahkan berfungsi.