Можете… а каков физический смысл сего действия?
Смысл в том что-бы пользователь сам решал видеть ему фильтры или нет.
В wp-config я задал глобальную переменную $MY_VARIABLE_FOR_SHOW_WIDGET_FILTER = 0 менять её должен пользователь. И в зависимости от тгого хочет он видеть фильтры или нет (стоит галка в checkboxe или нет) и ещё от некоторых обстоятельств фильтры будут видны или нет. Сниппет отражающий или нет фильтры ниже.
add_action( 'woocommerce_archive_description', function () {
global $MY_VARIABLE_FOR_SHOW_WIDGET_FILTER;
?>
<?php if (empty($MY_VARIABLE_FOR_SHOW_WIDGET_FILTER)): ?>
<style> body .widget_premmerce_filter_filter_widget {display: none;} </style
<?php else: ?>
<style>
body .widget_premmerce_filter_filter_widget {display: block;}
body.tax-product_cat.term-electronics .widget_premmerce_filter_filter_widget {display: none;}
body.tax-product_cat.term-tvs-plus .widget_premmerce_filter_filter_widget {display: none;}
body.tax-product_cat.term-smartphones-plus .widget_premmerce_filter_filter_widget {display: none;}
body.tax-product_cat.term-laptops-and-tablets .widget_premmerce_filter_filter_widget {display: none;}
body.tax-product_cat.term-computers-and-accessories .widget_premmerce_filter_filter_widget {display: none;}
body.tax-product_cat.term-computer-accessories .widget_premmerce_filter_filter_widget {display: none;}
body.tax-product_cat.term-information-storage-devices .widget_premmerce_filter_filter_widget {display: none;}
body.tax-product_cat.term-parts-for-pc .widget_premmerce_filter_filter_widget {display: none;}
body.tax-product_cat.term-audio-video-photos .widget_premmerce_filter_filter_widget {display: none;}
body.tax-product_cat.term-musical-centres .widget_premmerce_filter_filter_widget {display: none;}
body.tax-product_cat.term-office-equipment .widget_premmerce_filter_filter_widget {display: none;}
body.tax-product_cat.term-fixed-phone .widget_premmerce_filter_filter_widget {display: none;}
body.tax-product_cat.term-printers-and-scanners .widget_premmerce_filter_filter_widget {display: none;}
body.tax-product_cat.term-network-equipment .widget_premmerce_filter_filter_widget {display: none;}
body.tax-product_cat.term-car-devices .widget_premmerce_filter_filter_widget {display: none;}
body.tax-product_cat.term-auto-sound .widget_premmerce_filter_filter_widget {display: none;}
body.tax-product_cat.term-navigators-detectors .widget_premmerce_filter_filter_widget {display: none;}
</style>
<?php endif; ?>
<?php } );
— а каков физический смысл сего действия? Я постарался показать смысл сего действия.
Можете… Если могу покажите, пожалуйста, конструкцию. Очень хочется уже попробовать.
И ещё. Чек бокс почему-то реагирует на клики в любом пустом месте сайт бара. Это нормально?
вместо alert( 'чекбокс включён' );
Так не получится, поскольку JavaScript-код выполняется в браузере, а значение переменной в PHP вы хотите изменить на сервере, и после обновления страницы оно снова сбросится.
Смысл в том, чтобы пользователь сам решал, видеть ему фильтры или нет.
Можно сохранять значение, например, в cookies, тогда доступ к нему будет и у JavaScript и у PHP, и при обновлении страницы оно не потеряется.
С сохранением значения в cookies всё получилось. Но значения сохраняются для каждой страницы отдельно (в моём случае отдельно для каждой категории товара). И я пока не знаю хорошо это или плохо.