@ligisayan

Как привязать вызов хука php к определенному действию?

Всем привет! Есть интернет-магазин на wordpress+woocommerce с установленным плагином сравнения YITH WooCommerce Compare. Действие вызываемое при нажатии на кнопку сравнения 'yith-woocompare-add-product'.
/**
         * The action used to add the product to compare list
         *
         * @var string
         * @since 1.0.0
         */
        public $action_add = 'yith-woocompare-add-product';

Вопрос: как привязать к этому действию скрипт появления блока (который изначально скрыт), т.е. чтобы блок был все время видим пока в сравнении что-то есть и исчезать, когда из сравнения все удалено?
<script>
				var $ = jQuery.noConflict();
                jQuery(function($){
                    "use strict";
                    $('#fix-bot').show();
                    });
				console.log("fix-bot show");
				</script>
  • Вопрос задан
  • 426 просмотров
Пригласить эксперта
Ответы на вопрос 1
Igor-Maf
@Igor-Maf
Senior Front End developer
Добрый день, с YITH WooCommerce Compare не работал. Но мне кажется, что решение этому намного проще. Почему бы не поставить обычный, в случае jquery
$('#addBtn').on('click', function(e) {
  e.preventDefault();
  $('#fix-bot').show();
});


а, если native js, то
#fix-bot {
  display: none;
}

var btn = document.getElementById('addBtn'),
    fixBot = document.getElementById('fix-bot');

btn.addEventListener('click', function(e) {
  e.preventDefault();
  fixBot.style.display = 'block';
});


работоспособность не проверял, написано "на коленке", но общая суть решения может подойти. То-есть, мне кажется, что тут даже нет необходимости привязывать action от php к работе с DOM.

А, если все-таки используете jquery, то лучше все hide / show операции делать с использованием css display / visibility / opacity etc и функций addClass / removeClass.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы