产品有库存时隐藏查询按钮
P粉860370921
P粉860370921 2023-09-02 17:30:31
[PHP讨论组]

如何根据产品的库存状态隐藏特定按钮?

插件正在创建此类:

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();
    }

我只想在缺货的每个产品的单个产品页面上显示此按钮,但我无法让我的代码正常工作。

我对 PHP 不太熟悉,所以我尝试调整 Functions.php 文件中的一些其他代码,但没有成功。

任何帮助都会很棒,谢谢!

我尝试过这段代码:

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

我还看到按钮的 css 类是 .pe-show-enq-modal,但我无法执行仅适用于缺货产品的条件“可见性:隐藏”。

P粉860370921
P粉860370921

全部回复(1)
P粉555696738

您正在寻找的是这样的:

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;
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号