php 伍德商务|禁用针对特定产品ID的单个产品上的“添加到购物车”按钮

pcrecxhr  于 2022-12-25  发布在  PHP
关注(0)|答案(1)|浏览(107)

我是编程新手,所以这让我很困惑。
如何在单击所有必需的自定义变体单选按钮并填写该自定义变体的所有文本字段数量之前,使特定产品ID的“Add to Cart”(添加到购物车)按钮保持禁用状态?
从我的研究中发现,下面的方法是集成到WordPress中最简单的方法。我希望它专门针对一个产品ID。

<?php

// It adds a JS script only on the WooCommerce product page

add_action('wp_footer', 'add_script_to_product_page');
function add_script_to_product_page()
{

    // Only on the product page.
    if (!is_product()) {
        return;
    }

    // disable add to cart button until required fields are filled out

    <script type="text/javascript">
        jQuery(".single_add_to_cart_button").prop('disabled', true);

        var toValidate = jQuery('#fpf_6796689, #fpf_6744940, #fpf_3566324'),
            valid = false;
        toValidate.keyup(function() {
            if (jQuery(this).val().length > 0) {
                jQuery(this).data('valid', true);
            } else {
                jQuery(this).data('valid', false);
            }
            toValidate.each(function() {
                if (jQuery(this).data('valid') == true) {
                    valid = true;
                } else {
                    valid = false;
                }
            });
            if (valid === true) {

                jQuery(".single_add_to_cart_button").prop('disabled', false);
            } else {

                jQuery(".single_add_to_cart_button").prop('disabled', true);
            }
        });
    </script>

};
s4n0splo

s4n0splo1#

add_action('wp_footer', 'add_script_to_product_page');
function add_script_to_product_page() {
  if (!is_product()) return;  //execute only if we are on product page

  global $product;
  $product_id = $product->get_id(); // what is the current product ID
  $product_ids = array('10','20') // Products to which we want to load script
  if(in_array($product_id,$product_ids)) {
     load_single_product_script();
  } 
}

function load_single_product_script() {
?>
 <script type="text/javascript">
        jQuery(".single_add_to_cart_button").prop('disabled', true);

        var toValidate = jQuery('#fpf_6796689, #fpf_6744940, #fpf_3566324'),
            valid = false;
        toValidate.keyup(function() {
            if (jQuery(this).val().length > 0) {
                jQuery(this).data('valid', true);
            } else {
                jQuery(this).data('valid', false);
            }
            toValidate.each(function() {
                if (jQuery(this).data('valid') == true) {
                    valid = true;
                } else {
                    valid = false;
                }
            });
            if (valid === true) {

                jQuery(".single_add_to_cart_button").prop('disabled', false);
            } else {

                jQuery(".single_add_to_cart_button").prop('disabled', true);
            }
        });
    </script>
<?php
}

相关问题