Entfernen Sie die Allgemeinen Geschäftsbedingungen von der WooCommerce-Checkout-Seite, wenn sich nur bestimmte Produkte im Warenkorb befinden
P粉245003607
P粉245003607 2023-07-30 10:35:54
0
1
530
<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>
P粉245003607
P粉245003607

Antworte allen(1)
P粉344355715

下面的代码将在购物车中只有特定产品时完全移除T&C要求:

add_filter( 'woocommerce_checkout_show_terms', 'remove_terms_and_conditions_for_specific_unique_item' );
function remove_terms_and_conditions_for_specific_unique_item( $show_terms ) {
    // Replace "123" with the desired product ID
    $targeted_id = 15;
    $cart_items = WC()->cart->get_cart(); // get cart items

    // Check if there is only one item in cart
    if( count($cart_items) > 2 ) {
        return $show_terms;
    }        
    // Check if the targeted product ID is the only item in cart
    if ( reset($cart_items)['product_id'] == $targeted_id ) {
        return false; // Remove terms and conditions field
    }
    return $show_terms;
}

代码应该放置在活动子主题的functions.php文件中,或者放置在插件中。已经进行了测试并确认可以正常工作。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage