Практика объектного кеширования в WordPress
Материалы пятого митапа технической серии в латвийской WordPress группе. Митап был посвящён теме «Практика объектного кеширования в WordPress». Доклад осветил различные виды кеширования и теорию объектного кеширования, с примерами практического применения в WordPress
https://kagg.eu/meetup-object-caching-practices-in-wordpress/
Материалы пятого митапа технической серии в латвийской WordPress группе. Митап был посвящён теме «Практика объектного кеширования в WordPress». Доклад осветил различные виды кеширования и теорию объектного кеширования, с примерами практического применения в WordPress
https://kagg.eu/meetup-object-caching-practices-in-wordpress/
👍6
Купил себе книгу «PHP 8. В подлиннике». Д. В. Котеров. Покупал в бумаге, так как электронные подобного формата не могу читать, а в бумаге прям зашло.
Крайне рекомендую для разработчиков любого уровня. Доступно написано, есть примеры кода.
А еще есть промокодик 100MARKET на небольшую скидку)
➡️ Купить
#книги
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🤣1
Блокировка кнопки Отправить по всплывающем окне плагина Art WooCommerce Order One Click
Проблема: при нажатии на кнопку Отправить в форме Contact Form 7, данные отправляются довольно долго и пользователи могу нажать на кнопку 100500 раз, соответственно и функция отправки будет срабатывать столько же раз, и писем столько же будет приходить. Это плохо.
Решение: ничего кроме костылька блокировать кнопку через js не придумал. Вот такое решение
В целом, на формах выведенных просто шорткодом это будет работать. Но вот с плагином Art WooCommerce Order One Click это не сработает, так как форма вызывается через ajax и скрипт блокировки надо инициализировать после того как сработало всплывающее оно. В итоге получается вот такой костыль:
#snippet #woocommerce #awooc
Проблема: при нажатии на кнопку Отправить в форме Contact Form 7, данные отправляются довольно долго и пользователи могу нажать на кнопку 100500 раз, соответственно и функция отправки будет срабатывать столько же раз, и писем столько же будет приходить. Это плохо.
Решение: ничего кроме костылька блокировать кнопку через js не придумал. Вот такое решение
// disable button after clicking on submit button
<?php add_action('wp_footer', 'mycustom_wp_footer');
function mycustom_wp_footer()
{
?>
<script type="text/javascript">
jQuery('.wpcf7-form').submit(function() {
jQuery(this).find(':input[type=submit]').prop('disabled', true);
var wpcf7Elm = document.querySelector('.wpcf7');
wpcf7Elm.addEventListener('wpcf7submit', function(event) {
jQuery('.wpcf7-submit').prop("disabled", false);
}, false);
wpcf7Elm.addEventListener('wpcf7invalid', function() {
jQuery('.wpcf7-submit').prop("disabled", false);
}, false);
});
</script>
<?php
}?>
В целом, на формах выведенных просто шорткодом это будет работать. Но вот с плагином Art WooCommerce Order One Click это не сработает, так как форма вызывается через ajax и скрипт блокировки надо инициализировать после того как сработало всплывающее оно. В итоге получается вот такой костыль:
/**
* Блокировка кнопки отправить при отправке формы CF7
*
* @author Artem Abramovich
* @testedwith WC 8.4
* @testedwith AWOOC 3.0
*/
add_action( 'wp_footer', function () {
?>
<script>
jQuery( document ).ready( function ( $ ) {
$( document.body ).on( 'awooc_popup_ajax_trigger', function ( event, data ) {
$( '.awooc-form-custom-order div.wpcf7 > form' ).on( 'submit', function ( e ) {
$( e.target ).find( ':input[type=submit]' ).prop( 'disabled', true );
var wpcf7Elm = document.querySelector( '.wpcf7' );
wpcf7Elm.addEventListener( 'wpcf7submit', function ( event ) {
jQuery( '.wpcf7-submit' ).prop( "disabled", false );
}, false );
wpcf7Elm.addEventListener( 'wpcf7invalid', function () {
jQuery( '.wpcf7-submit' ).prop( "disabled", false );
}, false );
} );
} );
} );
</script>
<?php
}, 1000 );
#snippet #woocommerce #awooc
👍5❤2
Финты WordPress
Большая подборка плагинов WordPress на все случаи жизни
Более шестидесяти плагинов рacпределенных на семнадцать категорий. От безопасности до пуш-уведомлений, от оптимизации картинок до систем комментирования
Вот такая есть у меня статья, ба-а-альшая такая подборка плагинов. Можно подобрать нужное для любого сайта
https://wpruse.ru/plaginy/big-bundle-wordpress-plugin/
https://wpruse.ru/plaginy/big-bundle-wordpress-plugin/
👍13🔥8
Плагин Rank Math SEO. Отключаем мусорный функционал.
Все хорошо в плагинах, но раздражает что нет возможности выключить мусорный функционал, которым никто никогда не пользуется.
Например, плагин Rank Math SEO создает виджет на странице консоли или менюха в верхнем баре. Напишите в коментах кто-нибудь вообще пользуется этим функционалом?
В итоге, пришлось выкручиваться и чесать правой ногой левое ухо😜
Получился Mu плагин, ну или просто в виде плагина можно подключить
Скачать плагин
#snippet #rankmath
Все хорошо в плагинах, но раздражает что нет возможности выключить мусорный функционал, которым никто никогда не пользуется.
Например, плагин Rank Math SEO создает виджет на странице консоли или менюха в верхнем баре. Напишите в коментах кто-нибудь вообще пользуется этим функционалом?
В итоге, пришлось выкручиваться и чесать правой ногой левое ухо😜
Получился Mu плагин, ну или просто в виде плагина можно подключить
Скачать плагин
#snippet #rankmath
👍2
Плагин, разработанный для удобства использования панели администратора WordPress путем скрытия ненужных пунктов меню. На некоторых веб-сайтах панель администратора может быть загромождена различными меню и настройками, а Easy Hide Admin Menu Items предназначен для того, чтобы помочь пользователям легко настроить свое административное пространство.
Крайне удобная штука, особенно на сайтах где вагон плагинов и премиум тема иногда очень удобно отключать не нужные или не используемые пункты меню
➡️ Скачать плагин
#plugins
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2
zevilz.dev
Необходимые настройки для беспроблемной доставки доменной почты
В этой статье Вы узнаете, что необходимо настроить для беспроблемной доставки доменной почты. А также узнаете о таких штуках как PTR, SPF, DKIM, ADSP и DMARC.
📩 Необходимые настройки для беспроблемной доставки доменной почты
Почтовики все ужесточают и ужесточают политики обработки писем. Обычные владельцы сайтов отправляют вполне безобидные письма своим клиентам используя свою же доменную почту, но письма улетают в спам или вообще не доходят. Что же нужно настроить, чтобы не было проблем?
Подробнее
Почтовики все ужесточают и ужесточают политики обработки писем. Обычные владельцы сайтов отправляют вполне безобидные письма своим клиентам используя свою же доменную почту, но письма улетают в спам или вообще не доходят. Что же нужно настроить, чтобы не было проблем?
Подробнее
👍13🔥2
Вышел новый плагин от коллеги @Andreslav Совсем свежий, неделю как опубликован.
Это плагин для создания сложных сеток. Типа колонок, только тут сетки. Работает на Grid CSS.
В управлении используется нативный интерфейс. Так что все довольно привычно и понятно.
Попробовал. Удобно. Если понимаешь как работают гриды, то проблем вообще никаких, можно собирать макеты сеток любой сложности.
Хочу поздравить @Andreslav с первым плагином в репе, пусть будет не последним!
➡️ Качаем, ставим, используем
Плагин на GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍4
CSS-Tricks
A Crash Course in WordPress Block Filters | CSS-Tricks
Blocks in WordPress are great. Drop some into the page, arrange them how you like, and you’ve got a pretty sweet landing page with little effort. But what if
Быстрый курс по фильтрам в WordPress Block
Иногда требуется для удобства расширять существующий функционал штатных блоков. Существует множество способов такое проделать. Можно добавить пользовательский класс CSS к блоку в редакторе, пользовательский стиль или создать вариант блока.
Но даже этого может быть недостаточно, чтобы получить то, что вам нужно, и вам придется фильтровать основной блок, чтобы добавлять или удалять функции, или создавать совершенно новый блок с нуля.
👉 Подробнее
Иногда требуется для удобства расширять существующий функционал штатных блоков. Существует множество способов такое проделать. Можно добавить пользовательский класс CSS к блоку в редакторе, пользовательский стиль или создать вариант блока.
Но даже этого может быть недостаточно, чтобы получить то, что вам нужно, и вам придется фильтровать основной блок, чтобы добавлять или удалять функции, или создавать совершенно новый блок с нуля.
👉 Подробнее
👍5💩1
Отдельный сайт документации по WooCommerce
Вся документация, доступная на сайте, имеет открытый исходный код и синхронизирована с GitHub, как и сама WooCommerce. Это означает, что любому пользователю стало проще, чем когда-либо прежде, вносить свой вклад в документацию, и разработчики могут легко обновлять документы по мере внесения изменений в кодовую базу WooCommerce.
Cайт документации охватывает широкий круг тем, призванных помочь разработчикам в создании и совершенствовании WooCommerce. Вот краткий обзор того, что вы можете ожидать найти:
Начало работы
В разделе представлены основные руководства и ресурсы, разработанные специально для новичков. Он разработан, чтобы помочь вам начать свой путь разработки WooCommerce. Вы найдете подробную информацию о настройке среды разработки, присоединении к нашему процветающему сообществу Slack для поддержки и налаживания связей и многом другом.
Функции
В разделе представлены исчерпывающие руководства и ресурсы по созданию и улучшению расширений WooCommerce. В нем рассказывается о лучших практиках разработки и инновационных методах создания мощных расширений.
Лучшие практики
В разделе приведены рекомендации по входу в WooCommerce, управлению настройками, созданию вашего первого расширения и многому другому. Это отличный ресурс для всех, кто хочет оптимизировать свой процесс разработки WooCommerce.
➡️ Посмотреть сайт
Вся документация, доступная на сайте, имеет открытый исходный код и синхронизирована с GitHub, как и сама WooCommerce. Это означает, что любому пользователю стало проще, чем когда-либо прежде, вносить свой вклад в документацию, и разработчики могут легко обновлять документы по мере внесения изменений в кодовую базу WooCommerce.
Cайт документации охватывает широкий круг тем, призванных помочь разработчикам в создании и совершенствовании WooCommerce. Вот краткий обзор того, что вы можете ожидать найти:
Начало работы
В разделе представлены основные руководства и ресурсы, разработанные специально для новичков. Он разработан, чтобы помочь вам начать свой путь разработки WooCommerce. Вы найдете подробную информацию о настройке среды разработки, присоединении к нашему процветающему сообществу Slack для поддержки и налаживания связей и многом другом.
Функции
В разделе представлены исчерпывающие руководства и ресурсы по созданию и улучшению расширений WooCommerce. В нем рассказывается о лучших практиках разработки и инновационных методах создания мощных расширений.
Лучшие практики
В разделе приведены рекомендации по входу в WooCommerce, управлению настройками, созданию вашего первого расширения и многому другому. Это отличный ресурс для всех, кто хочет оптимизировать свой процесс разработки WooCommerce.
➡️ Посмотреть сайт
👍7❤1🤣1
Forwarded from WordPress Digest (SMMBox)
CodeWP — искусственный интеллект для разработчика WordPress
Внедрение AI в экосистему WordPress открывает перед разработчиками новые возможности для повышения эффективности, безопасности и удобства работы с сайтами.
С каждым днем технологии становятся все более доступными, позволяя даже начинающим разработчикам создавать сложные и высококачественные веб-решения.
В мире WordPress происходит настоящий переворот благодаря внедрению искусственного интеллекта. Новейшие разработки, такие как AI Codegen, AI Chat, AI Troubleshooting, и AI Security, открывают перед разработчиками новые горизонты. Рассмотрим подробнее, что же они представляют собой.
👉 https://wp-digest.com/news/codewp/
#AI #CodeWP #WordPress
🦄 WordPress Digest - Подписаться
Внедрение AI в экосистему WordPress открывает перед разработчиками новые возможности для повышения эффективности, безопасности и удобства работы с сайтами.
С каждым днем технологии становятся все более доступными, позволяя даже начинающим разработчикам создавать сложные и высококачественные веб-решения.
В мире WordPress происходит настоящий переворот благодаря внедрению искусственного интеллекта. Новейшие разработки, такие как AI Codegen, AI Chat, AI Troubleshooting, и AI Security, открывают перед разработчиками новые горизонты. Рассмотрим подробнее, что же они представляют собой.
👉 https://wp-digest.com/news/codewp/
#AI #CodeWP #WordPress
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍2
Компания WPShop поздравляет с 8 марта!
В честь этого праздника компания WPShop радует особенным подарком — промокодом на скидку 20% на все наши продукты и лицензии!
Используйте 8_march_2024 при оформлении заказа и получите выгоду только с 8 по 11 марта 2024 года.
🎆 Воспользоваться скидкой 20%
В честь этого праздника компания WPShop радует особенным подарком — промокодом на скидку 20% на все наши продукты и лицензии!
Используйте 8_march_2024 при оформлении заказа и получите выгоду только с 8 по 11 марта 2024 года.
Please open Telegram to view this post
VIEW IN TELEGRAM
💩4🎉2🤮1
Sanjeeb Aryal - WordPress Developer
Creating a Custom Post Type with Gutenberg and REST API
Let's get started by registering a Custom Post Type in WordPress. Post Types are the varieties of content such as posts, pages, taxonomies, products, etc.
Создание пользовательского типа записи с помощью Gutenberg и REST API
Пример создания блока для Gutenberg, с отдельной панелью произвольных полей c получением данных в блоке по REST API
https://sanjeebaryal.com.np/custom-post-type-with-gutenberg-context/#create-profile-block
Пример создания блока для Gutenberg, с отдельной панелью произвольных полей c получением данных в блоке по REST API
https://sanjeebaryal.com.np/custom-post-type-with-gutenberg-context/#create-profile-block
👍8💩1
Forwarded from WP-Kama.ru (campusboy)
Небольшая заметка, как создать запись через phpStorm через пароль приложения методом Basic. Само собой, можно так делать всё что угодно, что позволяет WordPress REST API.
https://wp-kama.ru/note/create-post-phpstorm-and-application-passwords
https://wp-kama.ru/note/create-post-phpstorm-and-application-passwords
👍1🔥1
Forwarded from WordPress Digest (Mikhail Kobzarev)
WordPress Дайджест № 12 (12 февраля — 18 марта 2024)
Подборка свежих новостей, инструментов, видео и материалов из мира WordPress. Приятного чтения!
👉🏻 https://wp-digest.com/digest/18-03-2024/
#wordpress #wpdigest #themes #plugins #development #security
🦄 WordPress Digest - Подписаться
Подборка свежих новостей, инструментов, видео и материалов из мира WordPress. Приятного чтения!
👉🏻 https://wp-digest.com/digest/18-03-2024/
#wordpress #wpdigest #themes #plugins #development #security
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Небольшой кейс с криво написанным плагином метода доставки через Боксберри.
Один из пользователей плагина AWOOC столкнулся с проблемой критической ошибки при совместной работе плагина AWOOC и плагина для доставки через Боксберри.
Начали разбираться, выяснилось, что в плагине Бексберри, на хуке создания заказа подвешена функция, которая вообще не проверяет, приходят данные или нет, и какие это данные. В итоге, на чекауте это работает, а вот на любой другой странице создание заказа будет фаталить.
Решение. Ничего другого, кроме как отключить с хука и по новой подключить эту функцию не придумал.
Код такой
ПРи повторном подключении добавил проверку на страницу оформления заказа, если это не страница чекаута то ничего не делаем.
Вот как то так... Пишите в коментах, что думаете
На заметку: для Боксберри - это официальный плагин, скачивается с сайта самого Боксберри. Тут вопросы к качеству кода...
Один из пользователей плагина AWOOC столкнулся с проблемой критической ошибки при совместной работе плагина AWOOC и плагина для доставки через Боксберри.
Начали разбираться, выяснилось, что в плагине Бексберри, на хуке создания заказа подвешена функция, которая вообще не проверяет, приходят данные или нет, и какие это данные. В итоге, на чекауте это работает, а вот на любой другой странице создание заказа будет фаталить.
Решение. Ничего другого, кроме как отключить с хука и по новой подключить эту функцию не придумал.
Код такой
/**
* Отключение функции
*/
add_action( 'after_setup_theme', function () {
remove_action( 'woocommerce_new_order', 'boxberry_put_choice_code' );
} );
/**
* Новое подключение функции
*/
add_action( 'woocommerce_new_order', function () {
if ( ! is_checkout() ) {
return;
}
$shipping_method = array_shift( $_POST['shipping_method'] );
$shipping_method_name = preg_replace( '/\d+/', '', $shipping_method );
$array = get_user_meta( get_current_user_id(), '_boxberry_array', true );
if ( isset( $_COOKIE['bxb_code'], $_COOKIE['bxb_address'] ) ) {
update_post_meta( $order_id, 'boxberry_code', sanitize_text_field( $_COOKIE['bxb_code'] ) );
update_post_meta( $order_id, 'boxberry_address', sanitize_text_field( $_COOKIE['bxb_address'] ) );
}
update_user_meta( get_current_user_id(), '_boxberry_array', [] );
} );
ПРи повторном подключении добавил проверку на страницу оформления заказа, если это не страница чекаута то ничего не делаем.
Вот как то так... Пишите в коментах, что думаете
На заметку: для Боксберри - это официальный плагин, скачивается с сайта самого Боксберри. Тут вопросы к качеству кода...
👍1