Скрыть «добавить в корзину», когда выбрано определенное значение в выпадающем списке

#php #jquery #wordpress #function #dropdown

#php #jquery #wordpress #функция #выпадающий

Вопрос:

В связи с вопросом, заданным в WordPress.stackexchange

Я пытаюсь скрыть кнопку woocommerce «добавить в корзину», когда пользователь выбирает определенный товар в выпадающем списке. Я использую платформу WordPress и пробовал несколько фрагментов jQuery в обоих functions.php и через сторонние плагины, но я все еще изо всех сил пытаюсь заставить его работать.

В Functions.php файл темы

 function load_scripts() {
?>
    <script type="text/javascript">
    $(document).ready(function(){
        $(document.getElementsByName("select-1574795073993")).change(function(){
            $( "select option:selected").each(function(){
                if($(this).attr("value")=="International"){
                    $(".single_add_to_cart_button").hide();
                }
            });
        }).change();
    });
    </script>
<?php
}
add_action('wp_enqueue_scripts', 'load_scripts');
  

Пожалуйста, может кто-нибудь помочь с простыми шагами, чтобы 1) предоставить правильный код и 2) вставить в woocommerce.com размещенный plarform.

Большое спасибо!

Ответ №1:

Попробуйте этот приведенный ниже код.

 function load_scripts(){ ?>
    <script type="text/javascript">
        (function($){
            $(document).ready(function(){
                $('select[name="select-1574795073993"]').on('change', function() {
                    if( this.value == "International" amp;amp; $('.product_meta .by-vendor-name-link').text() == 'Sold By Ronks Michael' ){
                        $(".single_add_to_cart_button").hide();
                    }else{
                        $(".single_add_to_cart_button").show(); 
                    }
                });
            });
        })(jQuery);
    </script>
<?php }
add_action( 'wp_footer', 'load_scripts', 10, 1 );
  

Комментарии:

1. Спасибо @Bhautik — я прилагаю код в load_scripts функция functions.php () { ?> <script type=»text/javascript»> ………………..your script above………… </script> <?php } add_action(‘wp_enqueue_scripts’, ‘load_scripts’); But its still not working, can you assist. Спасибо

2. @Bhuatik — Вы, сэр, легенда… это сработало! 🙂 Большое вам спасибо

3. В дополнение к вышесказанному, я хотел бы добавить предложение AND, чтобы также, если товар продается Ронксом Майклом, он также скрывал кнопку, например, из исходного кода:» href=» Sold» rel=»nofollow noreferrer»> picflick.co.za/vendor/ronks-michael /»> Продано Ронксом Майклом</a> Поэтому, когда it = продано Ронксом Майклом, утверждение if будет истинным. Спасибо

4. (или кто угодно) — Не могли бы вы помочь товарищу

5. Большое спасибо за внимание. Интересная ситуация здесь … существует более 1 тега <a class=»by-vendor-name-link» > . 1, который я ищу, содержится в теге <div class=»product_meta»> . Вы можете это добавить? Я попробовал $(«.product_meta.by-vendor-name-link»).text() == «Продано Ронксом Майклом» ), но это не сработало. Пожалуйста, помогите 🙂

Ответ №2:

В дополнение к вышесказанному, я хотел бы добавить предложение AND, чтобы также, если товар продается Ронксом Майклом, он также скрывал кнопку

Например, исходный код:

 <a class="by-vendor-name-link" style="display: block;" href="https://picflick.co.za/vendor/ronks-michael/">Sold By Ronks Michael</a>
  

Поэтому, когда it = «Продано Ронксом Майклом», оператор if будет иметь значение true.

Спасибо