Акция, при заказе двух и более товаров можно выбрать бесплатный подарок в Woocommerce

На одном сайте по доставке еды, нужно было провести акцию. Где при заказе двух блюд, можно было выбрать в подарок одно бесплатное. Реализация должна быть на сайте, чтобы покупатель выбрав два определенных блюда, мог сам выбрать подарок и чтобы все это попало в корзину и при оформлении заказа продавец видел подарок. Чтобы меньше тарантить времени […]

Читать всю статью
Набор своих иконок или эмодзи на сайте WordPress

Иногда для написаний новостей или текстов, очень привлекательно смотрятся эмодзи, или маленькие иконки. С эмодзи проблема в том, что они не везде отображаются, и по разному. А вот набор своих иконок для сайта — очень полезная вещь. Чтобы реализовать подобный функционал, необходимо: Код самого сниппета: Также нужно подправить немного стиль для этих иконок, чтобы они […]

Читать всю статью
Полоса загрузки для всплывающего окна

На одном из сайтов был установлен плагин CookieYes | GDPR Cookie Consent. Нужно было сделать так, чтобы он появлялся, а внизу у него пробегала полоса загрузки и он исчезал и больше не появлялся на этом устройстве. Поступил очень просто, в настройках плагина указал, чтобы он скрывался автоматически через 20 секунд. А затем прописал код в […]

Читать всю статью
Разный текст и стиль в зависимости от времени суток

На одном из сайтов необходимо было сделать, чтобы во время нерабочего времени писалось, что офис закрыт, а в рабочее отрыт. Для этого был написан небольшой сниппет, выкладываю его тут, там куски кода отвечающие за разные стили в разное время суток и разные надписи. А также кусок кода который умеет склонять в зависимости от количества. В […]

Читать всю статью
Работа с cookies на jQuery

Нужно быстро сделать какое-нибудь действие на сайте, чтобы записать его в куки и запомнить на этом устройстве. Это допустим всплывающее окошко, которое предупреждает о чём-то и после его закрытия не появляется еще долго. На выручку пришел сайт https://codernote.ru/jquery/rabota-s-cookies-na-jquery/ на нем подробно описано как это реализовать. Я же реализовал так: Скачал файл с github.com Подключил его, […]

Читать всю статью
Woocommerce - не обновляется общая сумма заказа на странице корзины

После обновления Woocommerce до версии 7.8, перестала пересчитывается общая сумма заказа, когда меняем количество товаров на странице - Корзина. Общая сумма выведена через блок Oxygen oxy-cart-total. Так же не пересчитывается общее количество товаров выведенные через свой код. Так же не работает пересчет в плагине Side Cart WooCommerce если мы на странице Корзины или Оформлении заказа. […]

Читать всю статью
Вывод файлов на страницу, которые лежат в определенной папке

Задача: Есть страница, у неё дочерние страницы. На этих страницах необходимо выводить список PDF файлов, но их много и добавлять вручную лень. Поэтому для простоты, файлы называют русскими буквами и закидываю по FTP на сервер в определенные папки, а там раскидывают по папкам по годам. Нужно вывести список этих файлов и разложить по годам. Решение: […]

Читать всю статью
Разные мелочи в верстке — фишечки

Узкий неразрывный пробел https://symbl.cc/ru/202F/ особенно полезен когда нужно вставить перед знаком рубль, после цены. Символ переноса Браузеры автоматически не расставляют переносы, но в HTML есть возможность указать возможное место переноса с помощью последовательности ­ (так называемый «мягкий перенос»). Символ переноса отображается только в том случае, если перенос слова действительно был выполнен (слово не влезло). Очень […]

Читать всю статью
Кастомная переменная для Yoast SEO

Нужно было на сайте поменять title на свой, чтобы в нем брались данные с переменных в ссылке вида мой.сайт/page/?hash=suvorov-naprimer_1_1_1876_63d51d8a170de Для этого в сниппете пишем код: В настройках блока Yoast SEO вставляем свои переменные %%nameuser%% и %%dateuser%%

Читать всю статью
Как подсчитать занятое место на хостинге

Иногда место на хостинге заканчивается, и тогда встает вопрос, как посмотреть кто виновник. Особенно это актуально, когда проектов много, и некоторые уже забыты, а место они занимают. Я поступаю так: захожу в консоль, или PuTTy или прям в панели управления хостингом ввожу команду du -hma --threshold=50M *| sort -nr копирую результат и закидываю его в […]

Читать всю статью
Скрипт подмены номеров или другого контента по UTM параметрам в ссылках

На одном из сайтов потребовалось менять номер телефона если переход идет с Яндекс Директа, и есть ссылка с UTM параметром. Попробовал несколько скриптов, но остановился на этом, так как он не критичен к тому если один из селекторов не находит. Поэтому можно прописать кучу селекторов, которые есть на сайте. И он будет работать. Вставляя его […]

Читать всю статью
Слайдер с превьюшками с помощью встроенной галереи и Slick

Слайдер с превью через кастомные поля в Oxygen. Самый простой вариант для записей выводимых через шаблон.

Читать всю статью
Кнопка НАЗАД на Android закрывает модальное окно

Необходимо было сделать, чтобы модальное окно открывалось на смартфоне во всю ширину экрана. Поэтому пользователи чтобы закрыть его использовали кнопку НАЗАД, на своем смартфоне. Но это приводило к переходу на одну страницу назад. Шаблон сверстан в Oxygen, такой функции по умолчанию нет, поэтому прописал в сниппете следующий код: Этот код делает следующие действия, когда нажимаю […]

Читать всю статью
Слайдер в Oxygen - вывод количества слайдов и номер слайда

Необходимо было сделать чтобы переключалки слайдера были внизу и показывалось количество слайдов и номер слайда. Для этого добавляем вот такой код в сниппет, и всё работает.

Читать всю статью
Добавление атрибутов Woocommerce в карточку товара созданную в Oxygen

Столкнулся с такой проблемой, что созданные атрибуты в Woocommerce не выводятся в карточке товаров которая сверстана в Oxygen. Вернее если применен стандартный вывод информации товара. Так же атрибуты не выводятся в модальном окне через плагин yith-woocommerce-quick-view. Решение нашел такое: С помощью хуков вывел атрибуты и в большой карточке товаров и в модальном окне. Так же […]

Читать всю статью
Генерация CSV и сохранение его на сервере

На одном проекте было необходимо по ссылке сохранять переменные в файл CSV. Реализовал это средствами PHP, через сниппеты в WordPress. Для этого завел сниппет, как шорткод. Сам шорткод [save_csv] вставил на страницу, на которую ссылается форма с перемеными передаваемые GET запросом. URL имеет вот такой вид: Код самого сниппета вот: Файл сохраняется по адресу /wp-content/uploads/base.csv […]

Читать всю статью
Открытие вкладок по якорным ссылкам в Oxygen

Чтобы разрешить хеш-ссылки (hash links) для открытия вкладок (tabs) в Oxygen нужно проделать следующее. Так как по умолчанию это не работает.

Читать всю статью
Красивый скроллбар (scrollbar)

Чтобы на сайте сделать современный, красивый скроллбар (он же scrollbar) необходимо минимум кода CSS. Меняя цвета на своё усмотрение можно на своем сайте показывать красивый скролл. И не нужно его прятать и избегать, так как он вписывается в общий дизайн сайта. Код CSS для стилизации srollbar

Читать всю статью
Трансляция IP-камеры по RTSP ссылке на своем сайте

На одном из проектов стояла задача разместить камеры наблюдения на сайте. Чтобы посетители могли наблюдать за объектом. Камеры были подключены и выданы ссылки с протоколом RTSP, с помощью VLC плеера можно было к ним подключится. Но чтобы их разместить на сайте — нужен сервер который поток RTSP преобразует в другой формат и который можно транслировать […]

Читать всю статью
Запустить свой обработчик событий для Max Mega Menu

Столкнулся с такой задачей. Для пункта в Max Mega Menu нужно было повесить своё событие через JQuery. Но оно не хотело работать. Причина оказалось в том, что maxmegamenu.js выводится в самом конце страницы. Поэтому чтобы запустить свое событие, его нужно инициализировать после запуска всех скриптов. Я поступил так: Данный код по клику открывает меню 3-его […]

Читать всю статью
Изменить цвет SVG с помощью CSS

Сегодня, в мае 2022 года я для себя открыл супер инструмент. Ранее которого мне не хватало. А именно как изменить цвет SVG иконке не вставляя её как код? А вот как. Вставляем картинку СВГ (чёрно-белую иконку) как обычную картинку через тег IMG SRC И присваиваем ей стиль через CSS: Получится из черного цвета, зеленый цвет. […]

Читать всю статью
Стилизация select с помощью CSS для Contact Form7

Как-то на одном проекте возникла необходимость стилизовать тег <select> и его пункты. Как известно с помощью простого CSS он не стилизуется так, как бы этого хотелось. В сети нашел решение. Решение реализовано на CSS и jQuery, взял его на этом сайте. Здесь выложу уже рабочий код, который применил для своих нужд, для плагина Contact Form, […]

Читать всю статью
WP Grid Builder и Oxygen, фильтр записей

Открыл для себя плагин WP Grid Builder. Попробовал его в Oxygen применить для EasyPosts и Repeater element, результат огонь. Можно выводить список записей в Oxygen, через EasyPosts или Repeater, или Woocomerce и применять к нему Facet (фильтр). Для этого я использую такие настройки: А также установил плагин-дополнение WP Grid Builder - Oxygen для удобства, чтобы […]

Читать всю статью
Cкачать файлы по списку через WGET

Довольно часто необходимо скачать сразу много файлов по списку. Есть несколько способов, первоначально я это делал через Download master, но потом я попробовал это сделать через консольную утилиту Wget. Мне очень понравилось, так как нечего лишнего, и список может быть довольно большой. Для начала я подготавливаю список с URL. И сохраняю его в текстовый файл […]

Читать всю статью
Плагин дополнений к пиццам и товарам

Нашел плагин Advanced Product Fields (Product Addons) for WooCommerce но еще не пробовал. Думаю, это альтернатива подобному-платному плагину. Чтобы не забыть.

Читать всю статью
Шорткод для отображения шаблонов Oxygen

Для того, что бы вывести Re-usable part в любом месте на сайте через шорткод, нужно в сниппете, через Code Snippets добавить код: Для этого в нужно в Code Snippets выбрать: Запускать только на публичной части сайта Затем нужно в том месте, где необходимо вывести этот шаблон вставить шорткод: Где 627 это ID шаблона Oxygen. Только […]

Читать всю статью
Убрать пагинацию в Oxygen

Нужно было с помощью Repeater создать рандомный вывод статей через Oxygen. Это делается через advanced Но нужно было вывести всего 5 постов и убрать пагинацию в конце постов. Это делается следующим методом. Заходим в настройки и добавляем параметры. Параетры: post_per_page = 5 - выведет всего пять постов no_found_rows = true - убирает строку пагинации в […]

Читать всю статью
Woocommerce и плагин доставки СДЭК

При установке плагина Плагин расчёта стоимости доставки СДЭК для WooCommerce от WooDev. И если стоит плагин редактирования полей оформления заказа, такой как Checkout Fields Manager for WooCommerce или от Saphali. То при оформлении заказа вылетает ошибка: «Невозможно создать заказ, так как город получатель не определён.» Для устранения этой ошибки, нужно добавить скрытое поле в платежный […]

Читать всю статью
Добавить код после тега body в WordPress, Oxygen

Для добавления Google Tag Manager я использовал раньше на сайтах плагин Head, Footer and Post Injections. Так как нужно было разместить код сразу за тегом <body>. В WordPress версии 5.2 и выше появился хук для этого wp_body_open() . Но я использую билдер Oxygen и для него тоже есть решение, вот оно. Нужно в сниппетах прописать […]

Читать всю статью
Woocommerce, оформление заказа - убрать таблицу или заменить

Чтобы на странице оформления заказа убрать итоговую таблицу, это иногда надо, когда совмещается корзина и оформление заказа на одной странице. Нужно вставить следующий код.

Читать всю статью
Фильтр записей в Oxygen с помощью ISOTOPE

На одном из проектов, необходимо было реализовать фотогалерею по разделам. Она была реализована с помощью кастомных записей и плагина Search & Filter. Но при переводе проекта на Oxygen, плагин Search & Filter отказался работать. Поэтому переделали фильтр на основе кастомных записей и библиотеки Isotope.

Читать всю статью
Woocommerce добавление в шаблон письма своих полей

При оформлении заказа, часто нужно вставить свои поля, но по умолчанию они не попадают в шаблон письма. Есть решение, добавляем код, который добавит нужные нам поля в письмо.

Читать всю статью
Геотаргетинг — определение и переключение городов на сайте

Понадобилось на одном сайте, на WordPress сделать переключение городов и разный контент для каждого города. Реализовал просто, установил плагин WT GeoTargeting — https://wordpress.org/plugins/wt-geotargeting/ В настройках прописал только город по умолчанию, в шапке сайта поставил шорткод:

Который выводил город, на этот блок повесил событие по клику, которое выводило модальное окно с выбором городов, в нем […]

Читать всю статью
Woocommerce: цена по запросу

Для товаров без указанной цены выводим сообщение «Цена по запросу»

Для товаров с нулевой ценой выводим «Цена по запросу» вместо «Бесплатно»

И отключаем возможность покупки товара с нулевой ценой

Взято тут: https://conotes.ru/sajtostroj/wordpress/woocommerce/woocommerce-tsena-po-zaprosu.html

Читать всю статью
Сортировка товаров по наличию в Woocommerce

Столкнулся с такой проблемой. Woocommerce не сортирует товары у которого стоит статус "в наличии" или "нет в наличии". Он только сортирует по остаткам на складе. Поэтому вышел из положения так. На странице вывел все товары и те у кого статус "нет в наличии" скриптом перекинул вниз.

Если заменить на $this.prependTo($this.parent()); то все товары не […]

Читать всю статью
Удалить поле URL (сайт) из формы комментариев в WordPress

Записываем в functions.php следующий код

Если не сработает, то, скорее всего, в теме есть файл шаблонов комментариев — comments.php. Тогда нужно в нем править. Закомментировать это поле с name="url".

Читать всю статью
Скопировать файлы с одной папки в другую на хостинге через SSH консоль

Иногда нужно создать копию сайта, и когда размер папки с сайтом занимает большой объем, то возникают трудности с работой по ФТП через панель управления хостингом — не всё копируется. А работать через ФТП-клиент тоже не удобно, так как большой объем файлов. Поэтому гораздо проще и быстрее это сделать через SSH-консоль командой рекурсивного копирования всего содержимого […]

Читать всю статью
«Развернуть» дамп базы через SSH консоль

Восстановить базу данных из дампа можно несколькими способами, это и через панель хостинга, и через MyPhpAdmin. Но иногда импорт через MyPhpAdmin завершается ошибкой, особенно когда база большого объема. Поэтому гораздо проще и быстрее развернуть дамп базы через консоль SSH. Это можно сделать с помощью следующей команды: mysql -h имя_хоста_DB -u имя_пользователя_DB -pпароль_DB имя_DB < путь_к_файлу_дампа_базы […]

Читать всю статью
Полезные плагины для WordPress

Ultimate Member — плагин для создания сообществ и пользовательских профилей в WordPress. https://ultimatemember.com/ и https://wordpress.org/plugins/ultimate-member/. Альтернатива: плагин WP-Recall https://wordpress.org/plugins/wp-recall/ (Ultimate Member проще и понятнее) Search & Filter — плагин для организации своего поиска на сайте и фильтра рубрик и кастомных записей. https://ru.wordpress.org/plugins/search-filter/ WPC Variations Radio Buttons for WooCommerce — плагин для удобного выбора вариативных товаров. https://ru.wordpress.org/plugins/wpc-variations-radio-buttons/

Читать всю статью
WordPress — заменить url сайта через wp-config

Чтобы изменить URL адрес WordPress, Вы должны прописать этот код в файл wp-config.php:

Читать всю статью
Отключить редактор блоков Гутенберг

В файле functions.php прописываем следующий код:

Читать всю статью
Woocommerce полезные хуки

При работе с плагином Woocommerce на сайте часто требуется изменять вид отображения карточек товара, корзины и многое другое. Для этих целей можно править шаблоны, применять плагины и использовать хуки. В этом посте я буду собирать полезные хуки для вукомерц. Хуки (hooks)

Читать всю статью
Простое всплывающее окно на сайте

На сайте часто нужно вывести информацию в шапке о режиме работы или контактах. Чтобы не нагромождать информацию, её можно разместить во всплавающем окне, которое выводится по клику на какой нибудь элемент. Простое всплывающее окошко можно сделать с помощью CSS и  jQuery. Для это добавляем код html на сайт:

Скрипт вставляем в шапку или футер: […]

Читать всю статью
Добавляем на сайт свой фид (feed) для Яндекса

Если с сайта нужно выгрузить фид для Яндекса или для другого сервиса. То есть два способа. Первый это всевозможные плагины, но они почти все работаю с Woocommerce. Второй вариант, написать выгрузку вручную. С такой проблемой я столкнулся на сайте застройщика, квартиры были выполнены кастомными записями. А нужно было несколько фидов в XML-формате для разных сервисов. […]

Читать всю статью
Свой фильтр для виджета AE Post Blocks от AnyWhere Elementor Pro

Для WordPress плагин Elementor выполняет большинство задач не прибегая к ковырянию в коде. Но всё же есть моменты, которые Elementor не выполняет без Хуков. Так  виджет AE Post Blocks от плагина AnyWhere Elementor Pro выводит записи именно те которые прописываются в фильтре И если этот виджет применить для шаблона архива в Elementor, то при переходе по таксономиям (рубрики, […]

Читать всю статью
Прилипающее меню или шапка для сайта

Чтобы блок с меню (или шапка сайта целиком) при прокрутке страницы вниз — скрывался, а потом прилипал сверху сайта, нужно присвоив  блоку стиль и задать ему свойство position: fixed;.

И прописать, код который при прокрутке на несколько пикселей вниз (в нашем случае на 135px) будет блоку со стилем .menu присваивать стиль .fixed. Так можно […]

Читать всю статью
Подгружать HTML в DIV

Если необходимо на сайте в div подгрузить какой нибудь html контент, это можно сделать следующим образом. Положить html файл на сервер, через FTP-клиент. И прописать скрипт.

Читать всю статью
Простой слайдер bxslider для WordPress

Когда нужно сделать простой слайдер фотографий или слайдер текста. То можно применить bxslider. При вставке стандартной галереи в Wordpres на страницу, из этих картинок можно сделать слайдер, если подключить bxslider. Подключается он очень просто. Достаточно прописать код в шапке или футере сайта.

Читать всю статью
Одинаковая высота у блоков

Часто требуется выводить блоки, чтобы они были одинаковой высоты и сами подстраивались под содержимое. Для этого вставляем следующий код Код HTML

Код скрипта

Тэги могут быть разными, вместо списков li могут, могут быть div.

Читать всю статью
envelope