Слайдер с превью через кастомные поля в Oxygen. Самый простой вариант для записей выводимых через шаблон.
Слайдер с превью через кастомные поля в Oxygen. Самый простой вариант для записей выводимых через шаблон.
Необходимо было сделать, чтобы модальное окно открывалось на смартфоне во всю ширину экрана. Поэтому пользователи чтобы закрыть его использовали кнопку НАЗАД, на своем смартфоне. Но это приводило к переходу на одну страницу назад. Шаблон сверстан в Oxygen, такой функции по умолчанию нет, поэтому прописал в сниппете следующий код: Этот код делает следующие действия, когда нажимаю […]
Необходимо было сделать чтобы переключалки слайдера были внизу и показывалось количество слайдов и номер слайда. Для этого добавляем вот такой код в сниппет, и всё работает.
Столкнулся с такой проблемой, что созданные атрибуты в Woocommerce не выводятся в карточке товаров которая сверстана в Oxygen. Вернее если применен стандартный вывод информации товара. Так же атрибуты не выводятся в модальном окне через плагин yith-woocommerce-quick-view. Решение нашел такое: С помощью хуков вывел атрибуты и в большой карточке товаров и в модальном окне. Так же […]
На одном проекте было необходимо по ссылке сохранять переменные в файл CSV. Реализовал это средствами PHP, через сниппеты в WordPress. Для этого завел сниппет, как шорткод. Сам шорткод [save_csv] вставил на страницу, на которую ссылается форма с перемеными передаваемые GET запросом. URL имеет вот такой вид: Код самого сниппета вот: Файл сохраняется по адресу /wp-content/uploads/base.csv […]
Чтобы разрешить хеш-ссылки (hash links) для открытия вкладок (tabs) в Oxygen нужно проделать следующее. Так как по умолчанию это не работает.
На одном из проектов стояла задача разместить камеры наблюдения на сайте. Чтобы посетители могли наблюдать за объектом. Камеры были подключены и выданы ссылки с протоколом RTSP, с помощью VLC плеера можно было к ним подключится. Но чтобы их разместить на сайте — нужен сервер который поток RTSP преобразует в другой формат и который можно транслировать […]
Столкнулся с такой задачей. Для пункта в Max Mega Menu нужно было повесить своё событие через JQuery. Но оно не хотело работать. Причина оказалось в том, что maxmegamenu.js выводится в самом конце страницы. Поэтому чтобы запустить свое событие, его нужно инициализировать после запуска всех скриптов. Я поступил так: Данный код по клику открывает меню 3-его […]
Как-то на одном проекте возникла необходимость стилизовать тег <select> и его пункты. Как известно с помощью простого CSS он не стилизуется так, как бы этого хотелось. В сети нашел решение. Решение реализовано на CSS и jQuery, взял его на этом сайте. Здесь выложу уже рабочий код, который применил для своих нужд, для плагина Contact Form, […]
Открыл для себя плагин WP Grid Builder. Попробовал его в Oxygen применить для EasyPosts и Repeater element, результат огонь. Можно выводить список записей в Oxygen, через EasyPosts или Repeater, или Woocomerce и применять к нему Facet (фильтр). Для этого я использую такие настройки: А также установил плагин-дополнение WP Grid Builder - Oxygen для удобства, чтобы […]
Для того, что бы вывести Re-usable part в любом месте на сайте через шорткод, нужно в сниппете, через Code Snippets добавить код: Для этого в нужно в Code Snippets выбрать: Запускать только на публичной части сайта Затем нужно в том месте, где необходимо вывести этот шаблон вставить шорткод: Где 627 это ID шаблона Oxygen. Только […]
Нужно было с помощью Repeater создать рандомный вывод статей через Oxygen. Это делается через advanced Но нужно было вывести всего 5 постов и убрать пагинацию в конце постов. Это делается следующим методом. Заходим в настройки и добавляем параметры. Параетры: post_per_page = 5 - выведет всего пять постов no_found_rows = true - убирает строку пагинации в […]
При установке плагина Плагин расчёта стоимости доставки СДЭК для WooCommerce от WooDev. И если стоит плагин редактирования полей оформления заказа, такой как Checkout Fields Manager for WooCommerce или от Saphali. То при оформлении заказа вылетает ошибка: «Невозможно создать заказ, так как город получатель не определён.» Для устранения этой ошибки, нужно добавить скрытое поле в платежный […]
Для добавления Google Tag Manager я использовал раньше на сайтах плагин Head, Footer and Post Injections. Так как нужно было разместить код сразу за тегом <body>. В WordPress версии 5.2 и выше появился хук для этого wp_body_open() . Но я использую билдер Oxygen и для него тоже есть решение, вот оно. Нужно в сниппетах прописать […]
Чтобы на странице оформления заказа убрать итоговую таблицу, это иногда надо, когда совмещается корзина и оформление заказа на одной странице. Нужно вставить следующий код.
На одном из проектов, необходимо было реализовать фотогалерею по разделам. Она была реализована с помощью кастомных записей и плагина Search & Filter. Но при переводе проекта на Oxygen, плагин Search & Filter отказался работать. Поэтому переделали фильтр на основе кастомных записей и библиотеки Isotope.
При оформлении заказа, часто нужно вставить свои поля, но по умолчанию они не попадают в шаблон письма. Есть решение, добавляем код, который добавит нужные нам поля в письмо.
Понадобилось на одном сайте, на WordPress сделать переключение городов и разный контент для каждого города. Реализовал просто, установил плагин WT GeoTargeting — https://wordpress.org/plugins/wt-geotargeting/ В настройках прописал только город по умолчанию, в шапке сайта поставил шорткод:
1 |
[wt_geotargeting get="city"] |
Который выводил город, на этот блок повесил событие по клику, которое выводило модальное окно с выбором городов, в нем […]
Записываем в functions.php следующий код
1 2 3 4 5 6 7 |
// Удаляем URL из формы отправки комментариев add_filter('comment_form_default_fields', 'sheens_unset_url_field'); function sheens_unset_url_field ( $fields ) { if ( isset($fields['url'] )) unset ( $fields['url'] ); return $fields; } |
Если не сработает, то, скорее всего, в теме есть файл шаблонов комментариев — comments.php. Тогда нужно в нем править. Закомментировать это поле с name="url".
Иногда нужно создать копию сайта, и когда размер папки с сайтом занимает большой объем, то возникают трудности с работой по ФТП через панель управления хостингом — не всё копируется. А работать через ФТП-клиент тоже не удобно, так как большой объем файлов. Поэтому гораздо проще и быстрее это сделать через SSH-консоль командой рекурсивного копирования всего содержимого […]
Восстановить базу данных из дампа можно несколькими способами, это и через панель хостинга, и через MyPhpAdmin. Но иногда импорт через MyPhpAdmin завершается ошибкой, особенно когда база большого объема. Поэтому гораздо проще и быстрее развернуть дамп базы через консоль SSH. Это можно сделать с помощью следующей команды: mysql -h имя_хоста_DB -u имя_пользователя_DB -pпароль_DB имя_DB < путь_к_файлу_дампа_базы […]
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/
Чтобы изменить URL адрес WordPress, Вы должны прописать этот код в файл wp-config.php:
1 2 |
define('WP_HOME','http://example.com'); define('WP_SITEURL','http://example.com'); |
В файле functions.php прописываем следующий код:
1 2 3 4 5 6 7 8 9 |
// отключим Гутенберг if( 'disable_gutenberg' ){ add_filter( 'use_block_editor_for_post_type', '__return_false', 100 ); remove_action( 'wp_enqueue_scripts', 'wp_common_block_scripts_and_styles' ); add_action( 'admin_init', function(){ remove_action( 'admin_notices', [ 'WP_Privacy_Policy_Content', 'notice' ] ); add_action( 'edit_form_after_title', [ 'WP_Privacy_Policy_Content', 'notice' ] ); } ); } |
При работе с плагином Woocommerce на сайте часто требуется изменять вид отображения карточек товара, корзины и многое другое. Для этих целей можно править шаблоны, применять плагины и использовать хуки. В этом посте я буду собирать полезные хуки для вукомерц. Хуки (hooks)
Если с сайта нужно выгрузить фид для Яндекса или для другого сервиса. То есть два способа. Первый это всевозможные плагины, но они почти все работаю с Woocommerce. Второй вариант, написать выгрузку вручную. С такой проблемой я столкнулся на сайте застройщика, квартиры были выполнены кастомными записями. А нужно было несколько фидов в XML-формате для разных сервисов. […]
Для WordPress плагин Elementor выполняет большинство задач не прибегая к ковырянию в коде. Но всё же есть моменты, которые Elementor не выполняет без Хуков. Так виджет AE Post Blocks от плагина AnyWhere Elementor Pro выводит записи именно те которые прописываются в фильтре И если этот виджет применить для шаблона архива в Elementor, то при переходе по таксономиям (рубрики, […]
Чтобы блок с меню (или шапка сайта целиком) при прокрутке страницы вниз — скрывался, а потом прилипал сверху сайта, нужно присвоив блоку стиль и задать ему свойство position: fixed;.
1 2 3 4 |
.menu.fixed { position: fixed; top: 0px; } |
И прописать, код который при прокрутке на несколько пикселей вниз (в нашем случае на 135px) будет блоку со стилем .menu присваивать стиль .fixed.
1 2 3 4 5 6 7 8 9 10 11 |
<script type="text/javascript"> jQuery(window).scroll(function() { var the_top = jQuery(document).scrollTop(); if (the_top > 135) { jQuery('.menu').addClass('fixed'); } else { jQuery('.menu').removeClass('fixed'); } }); </script> |
Так […]
Если необходимо на сайте в div подгрузить какой нибудь html контент, это можно сделать следующим образом. Положить html файл на сервер, через FTP-клиент. И прописать скрипт.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$(document).ready(function(){ $.get('/readme.html',function(data){ //указываешь урл от корня папки $('#content_file_html').html(data); //тут после # пишешь ID слоя куда подгрузить текст }); }); Для WordPress если вставлять код через админку, то этот код: jQuery(document).ready(function(){ jQuery.get('/readme.html',function(data){ //указываешь урл от корня папки jQuery('#content_file_html').html(data); //тут после # пишешь ID слоя куда подгрузить текст }); }); |
Когда нужно сделать простой слайдер фотографий или слайдер текста. То можно применить bxslider. При вставке стандартной галереи в Wordpres на страницу, из этих картинок можно сделать слайдер, если подключить bxslider. Подключается он очень просто. Достаточно прописать код в шапке или футере сайта.