Как программно прочитать содержимое блока WordPress
Чтение содержимого блоков может оказаться полезным, если вы создаете блоки, которые будут взаимодействовать с другими блоками, или, возможно, плагин, который улучшит весь опыт использования редактора блоков.
Отложенная загрузка кода Яндекс.Метрики
В процессе оптимизации нескольких сотен сайтов и в погоне за зелёными попугаями Google PageSpeed выработал для себя сниппет для отложенной (Lazy Load) вставки кода Яндекс.Метрики.
Маска ввода номера телефона в Elementor
Функционал форм в конструкторе страниц Elementor Pro — божественен, но, к большому сожалению, там отсутствует очень полезный паттерн для ввода номера телефона по маске, который очень облегчает заполнение форм пользователям. Это мы и постараемся исправить.
Автосброс кеша стилей и скриптов
Пуленепробиваемый сниппет под WordPress для автоматического сброса кеша стилей и скриптов путем добавления к их URL параметра с датой обновления самого этого файла.
Отслеживание целей кнопок и форм в Elementor
Отследить нажатие на кнопки и отправку форм, сделанных при помощи Elementor, в Google Analytics или Яндекс Метрике можно с помощью простых сниппетов.
Оповещение «Товар добавлен в корзину» в WooCommerce
Предлагаю вашему вниманию простой сниппет для WooCommerce, который выводит оповещение о том, что товар добавлен в корзину при клике на кнопку покупки.
Массовое удаление файлов из Slack
Бесплатный тариф в Slack идёт с ограниченным файловым хранилищем, которое при постоянном использовании быстро захламляется и вы упираетесь в лимит.
Backbone JavaScript-клиент для WordPress REST API
WordPress REST API «из коробки» включает в себя клиентскую JavaScript-библиотеку на основе фреймворка Backbone.js.
Библиотека предоставляет интерфейс к WP REST API, используя модели и коллекции Backbone для всех конечных точек (эндпоинтов) в схеме API.
Как «раздеть» ссылки в Trello
Предлагаю кастомный скрипт для очистки ссылок в Trello от полотна с закодированной кириллицей
Пуленепробиваемые iOS медиа-выражения
Благодаря работе, проделанной компанией Apple, пользователи имеют превосходные интерфейсы, а разработчики экономят кучу времени, так как абсолютно любое устройство можно отличить от другого по Media Queries, тем самым создавая по-настоящему отзывчивые сайты.
Начинаем работать с Payment Request API
Оплата товаров через интернет может оказаться страшной головной болью, не так ли? Вас постоянно заставляют вводить одни и те же реквизиты банковских карт и контактные данные.
Особенно тяжело это дается на мобильном телефоне. Как давно вы в последний раз отказывались от покупки вещи по причине сложностей с заполнением формы оплаты? У меня такое было прошлой ночью.
Плагин для WordPress Mihdan: Swiper
WordPress плагин, преобразующий стандартную галерею в элегантный слайдер на основе Swiper.
Добавление своей темы для SyntaxHighlighter Evolved
SyntaxHighlighter Evolved — является самым популярным WordPress-плагином для подсветки синтаксиса в постах и комментариях вашего блога. После его установки можно выбрать одну из семи стандартных цветовых тем.
Если они по какой-либо причине вас не устраивают (например, не подходят под цветовую гамму сайта), то можно сделать свою тему на основе любой имеющейся.
Плавная прокрутка при помощи scroll-behavior
В ночных сборках Firefox Nightly и Google Chrome появилась поддержка эксперименатального CSS-свойства scroll-behavior, которое предназначено для задания плавной прокрутки внутри любого элемента.
Отлавливаем ошибки JavaScript с помощью Google Analytics
Настоящие гики своего дела используют Google Analytics не только как инструмент статистики, но и как средство для отслеживания JavaScript ошибок с помощью пользовательских событий.
howler.js – современная Javascript библиотека для воспроизведения аудио
howler.js
— это аудио библиотека для современного веба, которая по умолчанию использует Web Audio API, а в случае его отсутствия использует HTML5 Audio.
RadioJS выпуск №11: в котором JavaScript не вызывает зависимости
Антон Шувалов — фронтенд разработчик в Рамблере. Вы возможно знаете его по проектам page.js, code screenshots, выступлению на MoscowJS 15. Вместе с ним мы обсуждаем инструменты и сетап разработчиков, подходы к сборке скриптов и альтернативы Backbone
Бесплатная книга «Сюрреализм на JavaScript» Алексея Бахирева
В книге содержатся различные рекомендации, советы и идеи касательно разработки сложного фронтенда на JavaScript. Рассматривается архитектура игровых движков и проблемы создания веб-игр и веб-приложений. Так же в книге приведено множество рекомендаций касательно верстки интерфейсов под различные устройства и особенностей разработки на JavaScript под различные платформы.
Паттерн Quick Return при помощи headroom.js
Борясь с нехваткой вертикального пространства, дизайнеры интерфейсов Google Android придумали новый паттерн Quick Return (быстрый возврат).
Принцип работы данного паттерна предельно прост: при скроллинге вниз верхняя панель приложения скрывается, при скроллинге вверх — вновь показывается.
Как отловить пользователей расширения AdBlock
Для того, чтобы определить, что у пользователя установлено расширение для блокировки рекламы AdBlock
или AdBlock Plus
, достаточно в код страницы включить вызов скрипта, который бы попадал под специальные паттерны для определения рекламных блоков (например, <div> с классом .banner).
Кроссверсионная обработка touch-событий в Internet Explorer на Windows Phone
Согласно спецификации Touch Events существует всего четыре типа события:
Тестовые номера кредитных карт
Очень часто возникает необходимость проверить какой-либо интерфейс на правильность ввода номера кредитной карты, пройти регистрацию на сайте, где требуется карточка, зарегистрироваться в iTunes — во всех этих случаях вам поможет следующая таблица.
Для всех банков
Успешный платёж
Тип картыДлинаНомерEXPCVVAmerican Express15378282246310005ЛюбаяЛюбойAmerican Express15371449635398431ЛюбаяЛюбойAmex Corporate15378734493671000ЛюбаяЛюбойAustralian BankCard165610591081018250ЛюбаяЛюбойDankort (PBS)1176009244561ЛюбаяЛюбойDankort (PBS)165019717010103742ЛюбаяЛюбойDinners Club1438520000023237ЛюбаяЛюбойDinners Club1430569309025904ЛюбаяЛюбойDiscover166011111111111117ЛюбаяЛюбойDiscover166011000990139424ЛюбаяЛюбойJCB163530111333300000ЛюбаяЛюбойJCB163566002020360505ЛюбаяЛюбойMaster Card165105105105105100ЛюбаяЛюбойMaster Card165555555555554444ЛюбаяЛюбойSwitch/Solo (Paymentech)166331101999990016ЛюбаяЛюбойVisa134222222222222ЛюбаяЛюбойVisa164111111111111111ЛюбаяЛюбойVisa164012888888881881ЛюбаяЛюбойVisa16430000000000077711/22Любой
Неуспешный платёж
Тип картыДлинаНомерEXPCVVVisa16500000000000000911/22ЛюбойVisa16465206057333499901/17067
Отмененный платёж
Тип картыДлинаНомерEXPCVVVisa16400000000000011911/22Любой
Имя держателя карты и срок её действия, а также CVV можно указывать любые, кроме тех случаев, где указаны конкретные данные в таблице.
Для Альфа-банка
В качестве Cardholder name (Имя владельца карты) указывайте от 2 слов в английской раскладке (например, IVANOV IVAN).
Для всех карт, вовлечённых в 3-D Secure (veres=y, pares=y или a) пароль на ACS: 12345678.
Тестовая среда не предназначена для нагрузочного тестирования, в случае необходимости его проведения следует обратиться в Банк.
Карты с успешным результатом оплаты
Номер картыСрок действияCVV2/CVC2Вовлеченность карт в 3-D Secure4111 1111 1111 11112024/12123veres=y, pares=y5100 0000 0000 00082024/12123veres=y, pares=y6011 0000 0000 00042024/12123veres=y, pares=y6390 0200 0000 0000032024/12123 (необязательный параметр)veres=y, pares=a5555 5555 5555 55992024/12123veres=n4444 0000 0000 11112024/12123veres=n2200 0000 0000 00042024/12123veres=n2200 0000 0000 00122024/12123veres=y pares=n2200 0000 0000 00202024/12123veres=u2200 0000 0000 00382024/12123veres=y pares=u2200 0000 0000 00462024/12123veres=y pares=a2200 0000 0000 00532024/12123veres=y pares=y
Карты, возвращающие ошибки
PANExp dateCVV23-D SecureError message5555 5555 5555 55572024/12123veres=y, pares=uDeclined. PaRes status is U (-2011)4444 3333 2222 11112024/12123veres=y, pares=uDeclined. PaRes status is U (-2011)4000 0000 0000 00022024/12123veres=uDeclined. VeRes status is U (-2016)5555 5555 4444 44422024/12123veres=uDeclined. VeRes status is U (-2016)4444 4444 4444 44222024/12123N/AInvalid message format (913)4444 4444 4444 44552024/12123N/ACard limitations exceeded (902)4444 4444 4444 33332024/12123N/ALimit exceeded (123)4444 4444 4444 66662024/12123N/ABLOCKEDBYLIMIT (-20010)4444 4444 1111 11112024/12123N/ANetwork refused transaction (5)4444 4444 9999 99992024/12123N/ATDSECCOMMERROR (151017)5432 5432 5432 54302022/12123N/AINSUFFICIENT_FUNDS (116)
Для RBKmoney
Для проведения платежей в тестовом магазине используются специальные номера карт, которые определяют ответ платформы в зависимости от отправленной информации.
Для тестовых карт принимаются суммы пополнения от 1₽ до 600 000₽ и любые значения CARDHOLDER NAME на латинице.
Таблица тестовых карт
ActionPayment SystemCard PANExp. dateCVV/CVCSuccessVisa424242424242424212/20123MasterCard555555555555444412/20123Maestro58682416082553333812/20123MIR220138200000001312/201233-D Secure MockVisa401288888888188112/20123MasterCard516914712958455812/20123Insufficient FundsVisa400000000000000212/20123MasterCard510000000000041212/20123Invalid CardVisa422222222222222012/20123MasterCard510000000000051112/20123CVV Match FailVisa400383017187401812/20123MasterCard549619858458476912/20123Expired CardVisa400000000000006912/20123MasterCard510510510510510012/20123Unknown FailureVisa411111000000011212/20123MasterCard512499000000000212/20123Apple Pay SuccessVisa430000000000077712/20123Apple Pay FailureVisa500000000000000912/20123Google Pay SuccessMasterCard222299090525705112/20123Google Pay FailureMasterCard222240534324887712/20123Samsung Pay SuccessMasterCard222357712001765612/20123Samsung Pay FailureMasterCard222300764872698412/20123
Второй способ
Можно воспользоваться онлайн генератором номеров кредитных карт, который позволяет создать неограниченное количество карт. Есть API. Результат выдается в форматах: JSON, CSV, XML.
КЛАДР в облаке
Сервис «КЛАДР в облаке» предоставляет онлайн интерфейс к базе адресов Российской Федерации («ФИАС»). Обмен данными происходит в формате JSON
, с поддержкой JSONP
.
Специфические стили под IE10
Условные комментарии более не поддерживаются в IE 10. И это просто отлично. IE 10 очень хороший браузер. Определение возможностей браузера — это более правильный и лучший путь.
Property ‘submit’ of object #<HTMLFormElement> is not a function
Если вы вдруг получили такую ошибку при отправке формы — проверьте, не названа ли кнопка отправки формы submit
.
Сокращения, используемые программистами
Предлагаю подборку технических аббревиатур (сокращений), используемых мною при написании кода (название переменных, функций, методов, классов, свойств) и понятных человеку со знанием английского.
Оптимизация асинхронного вызова Google Analytics
Google Analytics
— веб-аналитика корпоративного уровня от компании Google, внедряемая на страницу при помощи JavaScript.
Стандартный асинхронный код подключения Google Analytics громоздкий и не оптимизированный. Исправим данный недочёт.
Построение интерактивной карты с Raphaël
Raphaël
— это мощная библиотека, которая должна упростить работу с векторной графикой в Интернете. Сегодня я научу вас, как создать интерактивную карту с нуля.