产品有库存时隐藏查询按钮
P粉860370921
P粉860370921 2023-09-02 17:30:31
0
1
476
<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粉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;
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板