Heim  >  Fragen und Antworten  >  Hauptteil

Abfrageschaltfläche ausblenden, wenn das Produkt auf Lager ist

<p>Wie kann ich bestimmte Schaltflächen basierend auf dem Lagerbestand eines Produkts ausblenden? </p> <p>Das Plugin erstellt diese Klasse:</p> <pre class="brush:php;toolbar:false;">function wdm_pefree_init() { // phpcs:ignore WordPress.NamingConventions.ValidFunctionName.FunctionNameInvalid if ( ! class_exists( 'Product_Enquiry_For_Woocommerce', false ) ) { include_once WDM_PE_PLUGIN_PATH . '/includes/class-product-enquiry-for-woocommerce.php'; } Product_Enquiry_For_Woocommerce::instance(); }</pre> <p>Ich möchte diese Schaltfläche nur auf einer einzelnen Produktseite für jedes Produkt anzeigen, das nicht vorrätig ist, aber ich kann meinen Code nicht zum Laufen bringen. </p> <p>Ich bin mit PHP nicht sehr vertraut, daher habe ich erfolglos versucht, anderen Code in der Datei „Functions.php“ anzupassen. </p> <p>Jede Hilfe wäre großartig, danke! </p> <p>Ich habe diesen Code ausprobiert: </p> <pre class="brush:php;toolbar:false;">add_filter('woocommerce_get_availability', 'wcs_custom_get_availability', 1, 2); Funktion wcs_custom_get_availability($availability, $_product) { // Anfrage-Button entfernen if (!$_product->is_in_stock()) { remove_action('Product_Enquiry_For_Woocommerce'); } return $availability; }</pre> <p>Ich sehe auch, dass die CSS-Klasse der Schaltfläche .pe-show-enq-modal ist, aber ich kann die Bedingung „Sichtbarkeit: Versteckt“ nicht erzwingen, die nur für nicht vorrätige Produkte gilt. </p>
P粉860370921P粉860370921436 Tage vor438

Antworte allen(1)Ich werde antworten

  • P粉555696738

    P粉5556967382023-09-03 16:12:12

    您正在寻找的是这样的:

    add_action( 'woocommerce_single_product_summary', 'remove_enquiry_button_if_out_of_stock', 30 );
    function remove_enquiry_button_if_out_of_stock() {
        global $product;
        if ( ! $product->is_in_stock() ) {
            remove_action( 'woocommerce_single_product_summary', array( Product_Enquiry_For_Woocommerce::instance(), 'enquiry_button' ), 25 );
        }
    }

    或者通过CSS:

    .product.out-of-stock .pe-show-enq-modal {
        display: none;
    }

    Antwort
    0
  • StornierenAntwort