Entfernen Sie die Allgemeinen Geschäftsbedingungen von der WooCommerce-Checkout-Seite, wenn sich nur bestimmte Produkte im Warenkorb befinden
<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>