Hinzufügen von Text vor und nach Preisen in WooCommerce mit Ausnahme von Abonnementprodukten

Lesezeit: 2 Minuten

Benutzer-Avatar
Dmitri

In WooCommerce verwende ich den folgenden Code, um Text um den angezeigten Produktpreis (“Rent:” und “/day”) hinzuzufügen, wie:

function cp_change_product_price_display( $price ) {
    echo 'Rent: ' . $price . '/day';    
}
add_filter( 'woocommerce_get_price_html', 'cp_change_product_price_display' );
add_filter( 'woocommerce_cart_item_price', 'cp_change_product_price_display' );

Ich benutze auch das Plugin “YITH WooCommerce-Abonnement” und es gibt ein Problem mit meinem Code. Jetzt habe ich in den Abo-Paketen eine dieser Preisanzeigen:

  • Miete: $20/7 Tage/Tag
  • Miete: $80/Monat/Tag.

Wie kann ich Abonnementprodukte oder Abonnementkategorien von meinem Code ausschließenUm diese Probleme zu vermeiden?

Benutzer-Avatar
Nilambar Sharma

Sie können eine Bedingung hinzufügen, um zu prüfen, ob das aktuelle Produkt ein Abonnement ist oder nicht. Beispiel.

function cp_change_product_price_display( $price, $instance ) {
    if ( 'yes' === $instance->get_meta( '_ywsbs_subscription' ) ) {
        return $price;
    }
    return 'Rent: ' . $price . '/day';
}

add_filter( 'woocommerce_get_price_html', 'cp_change_product_price_display', 10, 2 );

Und zum Warenkorbpreis:

function cp_change_product_price_display_in_cart( $price, $cart_item, $cart_item_key ) {
    $product = $cart_item['data'];
    if ( 'yes' === $product->get_meta( '_ywsbs_subscription' ) ) {
        return $price;
    }
    return 'Rent: ' . $price . '/day';
}

add_filter( 'woocommerce_cart_item_price', 'cp_change_product_price_display_in_cart', 10, 3 );

Benutzer-Avatar
LoicTheAztec

Folgendes schließt WooCommerce-Abonnementprodukte aus…

add_filter( 'woocommerce_get_price_html', 'change_product_price_display', 10, 2 );
add_filter( 'woocommerce_cart_item_price', 'change_product_price_display', 10, 2 );
function change_product_price_display( $price, $product ) {
    if( ! in_array( $product->get_type(), array('subscription', 'subscription_variation', 'variable_subscription') ) )
        echo 'Rent: ' . $price . '/day';    
}

Sie müssen also herausfinden, welche Produkttypen für das YITH WooCommerce-Abonnement gelten, und sie in diesem Code festlegen.

Der Code wird in die Datei functions.php Ihres aktiven untergeordneten Designs (oder aktiven Designs) eingefügt. Es sollte funktionieren.

  • Danke für die Antwort. Aber im Gegensatz zu der anderen Antwort ändert sich hier nichts.

    – Dmitri

    8. Mai 2019 um 8:29 Uhr

  • @Dmitry Ich habe Ihr Plugin noch nie verwendet, daher weiß ich nicht, welche Produkttypen es gibt … In meiner Antwort erwähne ich deutlich, dass Sie sie herausfinden müssen. Meine Antwort Funktioniert für das offizielle WooCommerce-Abonnement-Plugin…

    – LoicTheAztec

    8. Mai 2019 um 8:36 Uhr

  • Ja ich verstehe das. Aber trotzdem danke für die Hilfe. Die zweite Antwort passt besser zu mir.

    – Dmitri

    8. Mai 2019 um 8:44 Uhr

1010090cookie-checkHinzufügen von Text vor und nach Preisen in WooCommerce mit Ausnahme von Abonnementprodukten

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy