Финты WordPress
777 subscribers
219 photos
12 videos
6 files
341 links
Авторский канал о WordPress. Новости, обзоры, код, решения и многое другое

Канал на YouTube https://www.youtube.com/@wpruse

Контакт админа @artikus13

6522ewm3kti85ia9
Download Telegram
Forwarded from Artem
Плагин Art WooCommerce Order One Click

Вышла версия 3.1.6.

Исправление багов, которые смог поймать, благодаря пользователям. За что им большое спасибо!
* Исправлено: форматирования цены в окне в зависимости от настроек
* Исправлено: получение данных при вызове окна, попытка получения данных в админке


Теперь не надо скачить с GitHub, обновление будет приходить штатно.

Несколько моментов по новой версии:

- Для перехода с версии 2.4.5, лучше всего будет удалить эту версию, удалить форму в CF7 и установить по новой, так каr при первой активации плагин сам создаст нужную форму.
Подробнее читайте в статье
- Никаких скрытых полей добавлять в форму не требуется, с версии 3.0 все эти поля создаются автоматически, и данные в них так же автоматически передаются
- Начиная с версии 3.1.0 работа с тригерами ведется по другому, так как написаны кастомные эвенты на ванильном js, то получать данные теперь надо не через 2-й параметр data, а через event.detail


➡️ Скачать
1
Сделал клиенту такую штуку. Отсекаем ботов, что-то вроде капчи.
Работает довольно просто: если пользователь не авторизован, не админ, не бот и не пришел с поиска, то показываем ему модалку, при нажатии на кнопку ставим куку, а дальше только проверяем на наличие куки, если нет, то опять показываем.

Ну и еще можно по клику на кнопку скрипты запускать, метрику например или аналитику.

➡️ Скачать плагин

А вообще вопрос: такая штука вообще работает? Просто я хз как это проверить нормально
1👍14🔥41
Forwarded from WP-Kama.ru (Kama)
Спекулятивная загрузка в WordPress 6.8

Функция спекулятивной загрузки интегрирована в ядро. Эта новинка может обеспечить почти мгновенную загрузку страниц за счёт предварительной загрузки страницы до того, как пользователь перейдёт по ссылке.

Полный гид: https://wp-kama.ru/17365
1👍41🔥1🎉1
Forwarded from WP-Kama.ru (Kama)
Класс WP_HTML_Processor — нативный легковесный инструмент для работы с HTML в WordPress!

На деле, нестандартный подход, однако при должном понимании можно оборачивать, удалять и перемещать узлы, знает вложенность DOM и гарантирует, что не поломает структуру. Разбираем, как работает на примерах.

🧠 Подходит для сложных задач, когда preg_replace уже не спасает.
🔥 Примеры, ограничения, отличие от других парсеров — всё по полочкам.

https://wp-kama.ru/function/wp_html_processor
👍3🔥1
Небольшой опрос. Друзья, напишите в коментах. Кто-нибудь, когда-нибудь пользовался виджетами на главной в админке?
🔥2🤣1
Кто-нибудь, когда-нибудь пользовался виджетами на главной в админке? Смотри пост выше 👆
Anonymous Poll
86%
Никогда
14%
Пользовался (напишу каким в комментарии)
WooCommerce 10.0 релизнулся...

Как обычно, разрабы пилят-правят блоки для корзины, чекаута и тд

Но появилась прикольная штука. Можно формировать ссылки для оформления товаров

Например:

https://yourstore.com/checkout-link/?products=123:2,456:1&coupon=SPRING10

По этой ссылке:

ID товара 123 будет добавлен в количестве 2
ID товара 456 будет добавлен в количестве 1
Будет применён код купона SPRING10 будет применён

Покупатель попадает прямо на страницу оформления заказа

Можно прям набрать корзинку и пулять клиентам ссылку на оформление

Подробнее ➡️
👍16🔥9🎉21
💬 WooCommerce 10.2

Занимаюсь тут версткой темы под WooCommerce и наткнулся случайно на функционал уведомлений о наличии товара.

То что последние 10 лет делалось плагинами, теперь есть в самом WooCommerce.

Хотя не все так просто. Похоже данный функционал в бете еще находиться или еще что-то, так как в документации вообще ничего не указано и только ссылка на платны плагин.
Включить этот функционал можно по константе
define( 'WOOCOMMERCE_BIS_ALPHA_ENABLED', 'true' );

Тогда появятся настройки, списки с подписанными и вывод формы на товаре

Не проверял как это работает, но функционал такой есть...
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍142
🚀 Черная тяпница!

Ребята из команды WPShop один раз в году проводят тотальную распродажу с максимальным промокодом 30% 🔥

Больше таких скидок не будет.

WPShop — это:
9 лет опыта и развития
более 225 000 установок
19 000 довольных клиентов из 29 стран мира
44 000 решённых тикетов и 98% счастливых клиентов

➡️ Активировать промокод
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣5
👇 Еще бы добавил: плагин для загрузки SVG, типа Safe SVG и для не англоязычных сайтов плагин для транслита, типа Cyr-To-Lat

А еще у меня есть такой плагин, который умеет отключать всякий мусор в админке. Скачивать тут
🔥2
10 настроек сайта которые надо проверить

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

https://wpcraft.ru/blog/best-10-options
👍4🔥4🤮3
👏Релиз WordPress 6.9

Как-то незаметно вышел релиз

Завезли пару API для ИИ
- Abilities API https://wp-kama.ru/handbook/codex/abilities-api
- PHP AI Client https://make.wordpress.org/ai/2025/07/17/php-ai-api/

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

Подробно читаем
https://wordpress.org/news/2025/12/gene/
https://wordpress.org/documentation/wordpress-version/version-6.9/
https://make.wordpress.org/core/2025/11/25/wordpress-6-9-field-guide/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72🔥1🎉1
⬇️ WP All Import. Небольшой кейс.

В последнее время, частенько попадаются импорты с битыми ссылками на картинки, например есть 5 картинок, а из них 3 битые и не грузятся.

Картинки - это самый медленный элемент импорта. Процесс больно замороченный. Сначала грузится картинка по линку во временные файлы, потом сделать массу проверок на тип и тд. Потом загрузить в медиабиблиотеку, проверить на дубликаты, и в финале еще миниатюр нарезать.
В общем, очень долго.

А если еще и ссылки битые, то время импорта увеличивается на порядки. Примерно замерял: 50 товаров с нормальными ссылками заезжает за 1 минуту, те же товары с битыми уже 40 минут...

Какое решение? Первое что приходит в голову - как то отсортировать передаваемые ссылки перед загрузкой. Но фиг там. Ожидаемо от WPAI, никаких фильтров не нашел. Хотя может и плохо искал. Но что то делать надо.

Нет фильтров, будем фильтровать настройки. Написал функцию, которая фильтрует передаваемую строку с линками

/**
* Удаление битых ссылок на изображения.
*
* @param string $url_option
*
* @return string
*/
function sanitize_images_url( string $url_option ): string {

if ( ! $url_option ) {
return '';
}

$urls = parse_strings( $url_option );

if ( empty( $urls ) ) {
return '';
}

$urls = array_unique( $urls );
$urls = array_filter($urls, function($url) {
return str_starts_with($url, 'https://') || str_starts_with($url, 'https://');
});


$valid_urls = [];

foreach ( $urls as $url ) {
if ( ! check_url_fast( $url ) ) {
continue;
}
$valid_urls[] = $url;
}

return implode( ',', $valid_urls );
}


/**
* Парсинг строки с разделителями
*
* @param $string
*
* @return array
*/
function parse_strings( $string ): array {
if ( empty( $string ) ) {
return [];
}

if ( strpos( $string, ',' ) !== false ) {
$items = str_getcsv( $string, ',', '"' );
} else {
$items = explode( ' ', $string );
}

$items = array_filter( array_map( 'trim', $items ) );

return array_values( $items );
}


/**
* Проверка ссылки на доступность
*
* @param $url
*
* @return bool
*/
function check_url_fast( $url ): bool {
static $local_cache = [];

if ( isset( $local_cache[ $url ] ) ) {
return $local_cache[ $url ];
}

$response = wp_remote_head( $url, [
'timeout' => 1.5,
'sslverify' => false,
'headers' => [ 'Connection' => 'close' ],
] );

$is_ok = ! is_wp_error( $response )
&& wp_remote_retrieve_response_code( $response ) === 200;

$local_cache[ $url ] = $is_ok;
return $is_ok;
}


Используем в поле, где указываются ссылки на картинки:
[sanitize_images_url( {images[1]}, {images-2[1]}, {images-3[1]})]


или если ссылки собираются через XPath
[sanitize_images_url( {./*[starts-with(local-name(), 'picture')]} )]


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

Как то так. В комментариях пишем свои решения
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍41
Мониторинг сайта и защита от критических ошибок

Следите за состоянием вашего сайта через почту, Телеграм и специальные сервисы.

Не теряйте Трафик, Доверие и Клиентов — реагируйте эффективно.

Если возникают фатальные ошибки на сайте — узнавайте об этом сразу!

https://wpcraft.ru/website-monitoring-wordpress-woocommerce
1👍1
Forwarded from WordPress Digest (Злой полицейский)
В понедельник, 5 января 2026 года, WordPress Latvia проведёт митап с двумя презентациями (на русском языке).

Доклады

1. PHP 8.5: New Features & Preparing for PHP 9
2. From Figma to WP Code: Reinvented by AI

Докладчик: Игорь Гергель

Когда: 5 января 2026 года, в 21:00 по московскому времени.

👉 https://www.meetup.com/ru-ru/wordpresslatvia/events/312581612/

#wordpress #ai #figma #meetup

🦄 WordPress Digest
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3🤮2👍1
Forwarded from WordPress Digest (Злой полицейский)
WordPress REST API против admin-ajax.php

Мы всё ещё встречаем вновь написанный код от разработчиков WordPress, которые используют admin-ajax.php для AJAX-запросов.

WordPress REST API была выпущен почти десять лет назад и он быстрее, безопаснее и значительно проще в использовании.

👉 https://www.kobzarev.com/wordpress/wordpress-rest-api-vs-admin-ajax-php-the-modern-choice/

#wordpress #api #rest

🦄 WordPress Digest
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81
This media is not supported in your browser
VIEW IN TELEGRAM
☃️ Про снежинки

5 лет назад был такой пост про снежинки на сайте. Вроде бы и время идет, технологии меняются, людям все равно нравиться на сайте снежинки подключать.

Понимаю. Сам такой, люблю какой-нибудь фигней заниматься😊
Опять же, атмосфера праздника и всё такое.

Снежинки - это не плохо и не хорошо, это так есть. К тому же, очень залипательно.

Но, дьявол как всегда в деталях. Тот скрипт который более менее работал 5 лет назад (хотя он и сейчас работает) уже использовать не правильно. Можете сами проверить как он работает, просто открываете деатулз и в районе подвала сможете увидеть порядка 50+ загруженных картинок (сами снежинки), которым через js прислюнивается анимация. Такое себе решение, мягко говоря. Особенно для мобильных устройств. Так кстати еще прикольный баг есть - если при нажатии на кнопку попасть по снежинке, то клика не происходило, то есть снежинки перекрывали элементы сайта.

Так как, у меня уже традиционно в новогодние праздники проводиться работа по собственным проектам, решил сделать переписать снежинки.

Написано все с нуля. Теперь это в виде плагина, с новым скриптом. Все работает на canvas, очень быстро и незаметно. Скрипт занимает 7кБ.

👀 Гарантирует наличие только одного экземпляра холста на странице, предотвращая утечки памяти и дублирование анимаций.
👀 Автоматически рассчитывает количество снежинок в зависимости от площади экрана (адаптивная плотность).
👀 Плавный и оптимизированный цикл отрисовки.
👀 Автоматическая пауза анимации при переключении вкладки браузера.
👀 Параметр pointer-events: none гарантирует, что снег не мешает кликам по кнопкам и ссылкам
👀 3 вида снежинок: точки, линии, восьмиконечные звезды

Опций в админке нет. Но есть фильтр art_snowfall_settings через который можно менять настройки скрипта. Внимательно читаем документацию, там есть дюжина примеров, как можно тонко настроить вывод.

📂Документация и примеры
⬇️Скачать плагин

Всех в прошедшими праздниками! 🎄
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16🎉65