Wordpress - Woocommerce - Вебмастерская
23 subscribers
155 photos
10 videos
1 file
193 links
Wordpress, Woocommerce, Деньги в Интернете, HTML, CSS, JavaScript » WpCraft
@maximko5 - по всем вопросам
Download Telegram
Плагин геотаргетинга WP с определением и выбором города – BelingoGeo
#Геолокация #Вебмастеринг #сайтостроение #Wordpress #геотаргетинг #ПлагиныWordpress
Очень часто на сайте требуется реализовать переключение городов и вывод различного контента в зависимости от города. С помощью плагина BelingoGeo можно разместить блок, в котором будет определяться город посетителя по его IP. В плагин встроены всплывающие окна с подтверждением определённого города и со списком городов для выбора города и переключения на него.

Для каждого города плагин генерирует уникальные УРЛ такого вида: site.ru/moskva/sample-page/, site.ru/sankt-peterburg/sample-page/ и т.д. В Pro версии плагина, есть возможность генерировать города на поддоменах, в этом случае УРЛ Вашего сайта будут выглядеть так: moskva.site.ru, sankt-peterburg.site.ru и т.д.

💾 Подробнее: https://qfurs.ru/?p=4051
👌1
Изменение формы поиска в WordPress
#Вебмастеринг #сайтостроение #Wordpress #wpcraft
Необходимо изменить HTML-код для формы поиска, чтобы можно было добавить свои классы при использовании Bootstrap или при других подобных ситуациях.

Вариант 1: Функция get_search_form() выводит форму поиска, но сначала она ищет файл searchform.php в корне темы. Поэтому нужно либо изменить его, если тема использует этот файл, либо добавить свой.

Вариант 2: Чтобы перезаписать HTML стандартной формы поиска в WordPress можно использовать хук get_search_form.

💾 Подробнее: https://qfurs.ru/?p=3948
КАРУСЕЛЬ С РАЗНЫМ ВИДОМ КОНТЕНТА: видео, текст, Youtube

#wordpress #Javascript #JS #OwlCarousel #jQuery #frontend #Carousel #WpCraftTop

Задача: Нужно сделать на странице сайта карусель (слайдер) с разным типом контента — видео, текст, вставка видео из Youtube. Такое можно увидеть, например, при отображении блока с отзывами, где один элемент — текстовый, другой — видео

Решение. Для создания карусели можно взять js-библиотеку Owl Carousel 2 (также нужен jQuery).

Алгоритм создания карусли из разного типа контента:

Создаем HTML-макет карусели и перед самой каруселью подключаем библиотеку Owl-Carousel и jQuery. Если на WordPress, то загружаем файлы Owl-Carousel на сервер и подключаем в functions.php.
Инициализируем карусель. Тут нужно обернуть блоки в классы owl-carousel owl-theme, чтобы стили применялись, а класс carousel_box может быть любым (можно через id).
Добавляем стили для кастомной кнопки. <button class="v_play"></button> может задаваться разными тегами, но должен идти сразу за видео.
Добавляем JS-скрипт, который будет обрабатывать кнопку воспроизведения видео.

...
💾 Код: https://wpcraft.top/?p=4123
Forwarded from WordPress Digest (Mikhail Kobzarev)
Как добавить свою вкладку в настройки WooCommerce

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

Некоторые разработчики помещают их в раздел Настройки, некоторые — в пользовательский пункт меню, а некоторые просто засовывают их куда попало.

Если вы создаете WooCommerce расширение, то самое простое, что вы можете сделать для улучшения пользовательского интерфейса, — это разместить все настройки WooCommerce там, где их смогут найти пользователи — на новой вкладке настроек WooCommerce. Звучит довольно просто, но вы удивитесь, как много людей этого не делают.

🔥 https://www.kobzarev.com/wordpress/how-to-add-a-woocommerce-settings-tab/

#wordpress #wpdigest #woocommerce #development #settings
WooCommerce интеграция с 1С по Складам + Геотаргетинг по городам
#WooCommerce #1С #Геотаргетинг #Wordpress
Задача. Есть интернет-магазин на Woocommerce и база 1С: Предприятия. Компания продает товары в разных городах и имеет там свои склады. Главной целью является сделать интеграцию WordPress с 1С. В 1С есть учет по складам, а в Woocommerce их по умолчанию нет. Поэтому на сайте нужно реализовать эти склады, чтобы покупатель мог указывать где он будет забирать товар при заказе. Также необходимо настроить геотрагетинг так, чтобы на странице товара отображались для выбора только склады в выбранном или определившемся городе.

Решение. Для решения задачи по настройке обмена данными между 1С и Woocommerce со складами и геотаргетингом, будем использовать следующие плагины:

EDI — Обмен данными между WooCommerce и 1С — обмен данными между WooCommerce и приложением для бизнеса «1C:Предприятие 8. Управление торговлей» (и совместимыми).
Stock Locations for WooCommerce — плагин для реализации складов в Woocommerce.
WT Geotargeting — плагин определяет и выводит город пользователя.
Читать: https://wpcraft.top/woo-sklady-geotargeting/
Как включить отзывы сразу во всех товарах в Woocommerce
#Woocommerce #Wordpress #SQL
Задача: На сайте тысячи товаров. Jnpsds где-то включены, где-то нет. Нужно быстро включить их во всех товарах.

Решение: SQL-запрос включения отзывов во всех товарах:

UPDATE `wp_posts` SET comment_status = 'open' WHERE `post_type` = 'product'

💾 https://wpcraft.top/kak-vklyuchit-kommentarii-srazu-vo-vseh-tovarah-v-woocommerce/
👌1
💻 Обязательные плагины для WordPress
#WordPress #Woocommerce #Woo #ПлагиныWordPress #сайты
Необходимые WP плагины для каждого сайта
Cyr-To-Lat
Yoast SEO
XML Sitemap Generator for Google
Robin image optimizer
WebP Express
Index Now
Autoptimize
Jetpack Boost - Website Speed, Performance and Critical CSS
W3 Total Cache
WP-Sweep
BackWPup
WPS Hide Login

💾 Подробнее + Полезные WordPress плагины
👌2
Forwarded from WordPress Digest (Mikhail Kobzarev)
Как интегрировать пользовательские платежные шлюзы с блоком оформления заказа WooCommerce

В блоге Миши вы можете найти полное руководство по созданию платежного шлюза WooCommerce, но в последних версиях (начиная с 8.3) вы, наверное, уже заметили, что ваш пользовательский метод оплаты недоступен в блоке Checkout.

👉🏻 https://rudrastyh.com/woocommerce/checkout-block-payment-method-integration.html

#wordpress #woocommerce #development #gutenberg

🦄 WordPress Digest - Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
#JavaScript #PHP #Разработка_под_Gutenberg #Gutenberg #JavaScript #metaboxes #php #React #WordPress #видео_урок

Как добавить метабоксы и произвольные поля к постам в Гутенберге

Поля произвольных данных (метабоксы) служат для добавления ...
🔥1
#WordPress_Codex #php #WordPress

WP_Query или get_posts(), что использовать для выборки постов на WordPress?

Создание динамических веб-сайтов WordPress во многом зависи...
💩1
Автопостинг NextScripts SNAP: Хештег пользовательской таксономии
#NextScriptsSNAP #Wordpress #Автопостинг #ПлагиныWordpress

Задача. Для автопостинга в соцсети используется плагин «NextScripts Social Networks Auto-Poster». В настройках шаблона публикации можно задать хештеги (категории, метки). Появилась необходимость выводить хештег пользовательской таксономии, но такой функции плагином не предусмотрено.

Решение. Каких-то хуков не нашел, но получилось решить добавив небольшие куски кода. Изменить нужно будет всего 3 файла плагина:
/inc/nxs_functions.php
/inc/nxs_functions_wp.php
/inc/nxs_functions_adv.php

Делаем по аналогии с категориями и метками постов — Код #1, где добавляем обработку пользовательской таксономии ‘mytaxonomy’.

💾 Смотреть код
👍1🔥1
В Wordpress-плагине не работает перевод на русский
#Wordpress #ПлагиныWordpress

Задача. Плагин в WordPress не подхватывает перевод на русский язык, хотя файлы перевода у него есть.

Решение. Если у плагина уже есть файлы перевода my-plugin-ru_RU.po и my-plugin-ru_RU.mo, но они не применяются, то можно сделать следующее:

1 - В файле wp-config.php добавить строчку define ('WPLANG', 'ru_RU');.
2 - Скопировать из папки плагина файлы с переводом my-plugin-ru_RU.po и my-plugin-ru_RU.mo в папку /wp-content/languages/plugins/.
3 - Если названия файлов отличаются от названия папки плагина, что в данном случае скорее всего, то файлы нужно переименовать соответственно. Например, папка плагина «my-plugin», то и копируемые файлы должны быть «my-plugin-ru_RU.mo».

💾 Статья
👍1👌1
Удаление ссылки из активного пункта меню Wordpress
#Wordpress #WpCraftTop

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

Решение 1. Используем хук-фильтр wp_nav_menu Код №1 в functions.php.

function wpcraft_no_link_current_page($menu) {
return preg_replace('%((current_page_item|current-menu-item)[^<]+)[^>]+>([^<]+)</a>%', '$1<span>$3</span>', $menu);
}

add_filter('wp_nav_menu', 'wpcraft_no_link_current_page');


💾 Статья
Вывод виджета поиска темы Woodmart в шаблоне
#Woodmart #Wordpress

Вывести виджет поиска темы Woodmart за пределами сайдбара, непосредственно в коде шаблона страницы:

# Виджет поиска в Woodmart
if (function_exists('the_widget')) {
the_widget('WOODMART_Widget_Search', array(
'title' => 'Поиск товаров', // Заголовок виджета
'post_type' => 'product', // Тип постов для поиска
'number' => 4, // Количество товаров для показа
'price' => 1, // Показать цену
'thumbnail' => 1, // Показать миниатюры
'categories' => 1 // Показать категории
));
}


💾 Статья
Шорткоды в виджетах WordPress
#Wordpress

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

# Обработка шорткодов в виджетах
function qfurs_enable_shortcodes_in_widgets() {
// Поддержка шорткодов в старых текстовых виджетах
add_filter('widget_text', 'do_shortcode');
// Поддержка шорткодов в новых текстовых виджетах
add_filter('widget_text_content', 'do_shortcode');
// Поддержка шорткодов в виджетах блока HTML
add_filter('widget_text_widget', 'do_shortcode');
}

add_action('widgets_init', 'qfurs_enable_shortcodes_in_widgets');


💾 Пользовательский виджет с поддержкой шорткодов
💻 Корзина и Оформление заказа на одной странице в Woocommerce
#WordPress #Woocommerce
⁉️ Необходимо было совместить страницы Корзины и Оформления заказа. По сути на странице нужно вывести три основных блока: Таблица товаров (как в корзине), Детали заказа и Заказ. Самая большая проблема заключалась в том, что по макету на странице две колонки — слева таблица товаров и под ней Детали заказа, а справа — блок Заказ. Но в шаблонах Woo Таблица с товарами это одна форма, а Детали заказа с блоком Заказ — другая. И вынести Детали заказа из своей формы и вставить куда хочешь — не получится.

В решении предлагаю скопировать шаблон формы заказа и добавить в него код из формы корзины + добавить скрипт который будет перемещать нужный блок и передавать данные.

💾 Скрипт
💻 Вывод постов WP на странице пользовательского типа записи с пагинацией
#WordPress #сайты
⁉️ Задача. Есть стандартные записи WP и есть пользовательский тип записей 'selection'. В шаблоне single-selection.php выводим список стандартных записей, исходя из настроек кастомного поста. Проблема со страницами пагинации — при переходе на /my-page/page/2/ перенаправляло на первую страницу.

Решение.
/* functions.php */
function qfurs_fix_request_redirect( $request ) {

if ( isset( $request->query_vars['post_type'] )
&& 'selection' === $request->query_vars['post_type']
&& true === $request->is_singular
&& - 1 == $request->current_post
&& true === $request->is_paged ) {
add_filter( 'redirect_canonical', '__return_false' );
}

return $request;
}
add_action( 'parse_query', 'qfurs_fix_request_redirect' );


💾 Подробнее
👍1
Как добавить администратора через базу данных сайта на Wordpress
#Wordpress
Два способа: через sql-запрос и в ручную, добавив новые строки в таблицы wp_users и wp_usermeta.

1. Через sql-запрос создать пользователя (wp_users) и выдать права админа (wp_usermeta). ID пользователя (в примере — 77) нужно задать уникальное:

INSERT INTO `databasename`.`wp_users` (`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`) VALUES ('77', 'mylogin', MD5('mypassword'), 'My Name', 'myemail@domain.com', 'http://www.mysite.com/', '2011-06-07 00:00:00', '', '0', 'My Name');

INSERT INTO `databasename`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, '77', 'wp_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');

INSERT INTO `databasename`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, '77', 'wp_user_level', '10');


2. Вручную добавить админа в БД WP сайта:
Далее
Экспорт мета-тегов title и description Yoast SEO категории товаров с WP All Export
#WordPress #YoastSEO #SEO
Требуется с помощью плагина WP All Export экспортировать категории товаров вместе с мета-тегами заголовка и описания, которые прописаны в плагине Yoast SEO. Проблема в том, что при настройке шаблона экспорта нет таких полей для таксономий (а в товарах есть).

Чтобы добавить в экспорт значения полей title и description из Yast SEO, нужно добавить поле и обработать результат php-функцией (Изображение 1):

- Добавить поле Add field.
- В «Select a field to export» выбрать Term ID.
- Включить «Экспорт значения, возвращаемого PHP функцией» и добавить название функции 'yoast_wpseo_title' (Код #1).
- В «Function Editor» добавляем функции из Кода №1, сохраняем функции. В этом поле функции хранятся глобально, нужно только выше использовать название необходимой. Т.е. при создании другого поля эти функции уже будут.
- Сохранить поле — «Save».

💾 Подробнее
WordPress плагин автопостинга в Вконтакте: VK Auto Poster
💾 https://wpcraft.top/wordpress-plagin-avtopostinga-v-vkontakte-vk-auto-poster/
Необходимо было решение для автопостинга в ВК из сайта на WordPress вместо «NextScripts SNAP», т.к. он не работает для новых приложений ВК.
#wordpress #автопостинг #вконтакте #wpплагины