首頁  >  問答  >  主體

產品有庫存時隱藏查詢按鈕

<p>如何根據產品的庫存狀態隱藏特定按鈕? </p> <p>外掛程式正在創建此類:</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>我只想在缺貨的每個產品的單一產品頁面上顯示此按鈕,但我無法讓我的程式碼正常運作。 </p> <p>我對 PHP 不太熟悉,所以我嘗試調整 Functions.php 檔案中的一些其他程式碼,但沒有成功。 </p> <p>任何幫助都會很棒,謝謝! </p> <p>我試過這段程式碼:</p> <pre class="brush:php;toolbar:false;">add_filter('woocommerce_get_availability', 'wcs_custom_get_availability', 1, 2); function wcs_custom_get_availability($availability, $_product) { // Remove Enquiry Button if (!$_product->is_in_stock()) { remove_action('Product_Enquiry_For_Woocommerce'); } return $availability; }</pre> <p>我還看到按鈕的 css 類別是 .pe-show-enq-modal,但我無法執行僅適用於缺貨產品的條件「可見性:隱藏」。 </p>
P粉860370921P粉860370921436 天前439

全部回覆(1)我來回復

  • 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;
    }

    回覆
    0
  • 取消回覆