Entfernen Sie die Allgemeinen Geschäftsbedingungen von der WooCommerce-Checkout-Seite, wenn sich nur bestimmte Produkte im Warenkorb befinden
P粉245003607
2023-07-30 10:35:54
<p>Ich verkaufe Veranstaltungstickets und akzeptiere Spenden unter https://development.pittsburghconcertsociety.org. Wenn jemand ein Ticket kauft, muss er den COVID-Richtlinien zustimmen. Aber wenn jemand eine Spende nur „kauft“, also das Spendenprodukt einfach in den Warenkorb legt, muss er der COVID-Richtlinie nicht zustimmen. Der WooCommerce-Support-Chatbot stellt den folgenden Code bereit, der jedoch nicht funktioniert: </p>
<pre class="brush:php;toolbar:false;">function hide_terms_for_special_product( $woocommerce_checkout_fields ) {
// Überprüfen Sie, ob das spezifische Produkt der einzige Artikel im Warenkorb ist
if (WC()->cart) {
$cart_items = WC()->cart->get_cart();
$ Specific_product_found = false;
foreach ( $cart_items as $cart_item ) {
// Ersetzen Sie „123“ durch die ID des spezifischen Produkts
if ( $cart_item['product_id'] == 551 ) {
$ Specific_product_found = true;
brechen;
}
}
// Allgemeine Geschäftsbedingungen für das jeweilige Produkt ausblenden
if ( $ Specific_product_found ) {
unset( $woocommerce_checkout_fields['terms'] );
}
}
return $woocommerce_checkout_fields;
}
add_filter( 'woocommerce_checkout_fields', 'hide_terms_for_special_product' );</pre>
<p>Die ID des Spendenprodukts ist 551). Zusammenfassend möchte ich sagen, dass ich ein Kontrollkästchen/eine AGB-Anforderung haben möchte, wenn sich Tickets und Spendenprodukte im Warenkorb befinden, aber keine AGB erforderlich sind, wenn sich nur Spendenprodukte im Warenkorb befinden. In diesem Fall reicht es nicht aus, die AGB nur zu verbergen, sie dürfen auch nicht erforderlich sein. </p><p>Wenn wir Artikel verkaufen, wäre es außerdem schön, mehrere Produkt-IDs hinzufügen zu können. </p><p><br /></p>
下面的代码将在购物车中只有特定产品时完全移除T&C要求:
代码应该放置在活动子主题的functions.php文件中,或者放置在插件中。已经进行了测试并确认可以正常工作。