Включить/выключить отзывы у всех товаров

Для включения / выключения отзывов для всех товаров сразу необходимо сделать SQL ЗАПРОС к базе данных в таблице  wp_posts , где wp_ префикс вашей БД. UPDATE `wp_posts` SET comment_status = ‘closed’ WHERE `post_type` = ‘product’ Для включения используем   comment_status = ‘open’ Для выключения отзывов    comment_status = ‘closed’

Больше...

Квадратные изображения

Разметка Стили div { /* Блок обертки картинки */ width: 20%; /* Тут ширина ваша, высота будет считаться на хаке ниже */ position: relative; /* Это обязательно */ /* Временные стили*/ background-color: #eee; margin: 30px auto; } div:before { /* Хак формирования соотношения сторон для квадрата 1:1, исходя из ширины */ content: “”; display: block;…

Больше...

Обертывание элементов

Обертывание элементов страницы .wrap()  .wrapAll() Функции помещают заданное содержимое вокруг выбранных элементов(как бы “обертывая” их). Имеется два варианта использования функций: .wrap(content), .wrapAll(content) :jQuery v:1.0, v:1.2 выбранные элементы будут “обернуты” содержимым content, которое может быть задано html-текстом, объектом jQuery или DOM объектом. Различия методов заключается в том, что wrap оборачивает каждый выбранный элемент по отдельности, а wrapAll оборачивает все элементы сразу.…

Больше...

Строки в таблице

$(‘tr’).each(function(){ var $this=$(this); if($this.children(‘td’).html()==’НАБОР’||$this.children(‘td’).html()==’НЕ НАБОР’){ $this.addClass(‘node’) } }); $(‘tr’).each(function(){ var $this=$(this); if ( $this.parent().is( “tbody” ) ) { $this.unwrap(); } if($this.children(‘td’).html()==’НАБОР’){ $this.addClass(‘mark’); } }); $(“tr.node”).each(function(){ $(this).nextUntil(“tr.node”).wrapAll(” “); }); $(‘.mark’).on(“click”,function(){ $(this).next(“tbody.content”).toggle(); }); }); Тип Название Состав Наличие Цена НАБОР Костюм 1 500 Футболка Футболка2 Футболка3 НЕ НАБОР Пиджак something 500 НЕ НАБОР Пиджак something 500 НАБОР…

Больше...

Вариации в виде таблицы

Вариации в виде таблицы Для отображения вариаций в виде сетки/таблицы добавить следующий код в функции темы /* woocommerce_variable_add_to_cart overrides the default template, and substitutes our grid find_valid_variations loops through your product variations and fills in the ‘anys’ */ function woocommerce_variable_add_to_cart(){ global $product, $post; $variations = find_valid_variations(); // Check if the special ‘price_grid’ meta is set,…

Больше...

Добавить класс div в зависимости от input

Разметка https://jsfiddle.net/gkan10qr/27/ Вариант 1 // задаем background такойже как name const inputs = document.getElementsByTagName(‘input’); […inputs].forEach((input) => { if (input.type !== ‘hidden’) { input.parentNode.style.background = input.name; } }) Вариант 2 // добавляем класс к элем в зависимости от name const inputs = document.getElementsByTagName(‘input’); […inputs].forEach((input) => { if (input.type !== ‘hidden’) { input.parentNode.id.add(input.name); } }) Вариант 3…

Больше...

Как переопределить функцию

Пример переопределения. Изначально мы имеем: <h2 class=”woocommerce-loop-product__title”>’ . get_the_title(). ‘</h2> А надо получить: <a href=”‘ . get_permalink($product_ID) . ‘”> <h2 class=”woocommerce-loop-product__title”>’ . get_the_title(). ‘</h2> </a> Добавляем в функции темы: /** * Переопределяем функцию, т.к. нет из нее фильтра */ if ( ! function_exists( ‘woocommerce_template_loop_product_title’ ) ) { /** * Show the product title in the…

Больше...

Добавить класс

Добавить класс Cross Compatible В следующем примере мы добавим элемент classname в элемент <body>. Это совместимо с IE-8. var a = document.body; a.classList ? a.classList.add(‘classname’) : a.className += ‘ classname’; Это сокращение для следующего. var a = document.body; if (a.classList) { a.classList.add(‘wait’); } else { a.className += ‘ wait’; } Производительность Если вы больше заинтересованы в производительности по…

Больше...

При клике на один элемент кликнуть другой

ВАРИАНТ 1 При клике на один элемент внутри блока и таблицы кликнуть другой вне таблицы. Имеем неизвестное и неограниченное количество блоков. при клике на –.swa-age  кликаем –.vsp-ive // Сначала добавляем атрибутов, чтобы между ними была связь $(‘.swa-age’).attr(‘data-id’, function(index) { return ‘здесь может быть значение – но в данном случае нужно пусто ‘ + (index +…

Больше...