Плагин гибкой генерации QR кодов для WordPress.
Существующие плагины генерации QR кодов генерируют коды преимущественно для URL и, как правило, динамически. Основная идея этого плагина заключается в следующем:
- Генерация любого типа QR-кодов (URL, vCard, платежные коды).
- Полная настраиваемость кода (размеры, цвета, логотип и т.п.).
- Вызов как через шорт-код, так и через хук-фильтр для интеграции с другими плагинами.
- Как динамическая генерация, так и сохранение сгенерированных кодов в wp-content, чтобы можно было их использовать, например, для вставки в генерируемые PDF (счета и т.п.)
- Генератор QR кодов в админке сайта.
Генерация QR-кодов осуществляется библиотекой PHP QR Code.
Плагин реализует следующие шорт-коды:
[in_qr_text]
-- Создание QR с текстом[in_qr_url]
-- Создание QR с произвольным URL[in_qr_email]
-- Создание QR с E-mail ссылкой[in_qr_vcard]
-- Создание QR с визитной карточкой[in_qr_payment]
-- Создание QR с платежными реквизитами
Все шорткоды поддерживают большой список параметров.
- width -- Может задавать ширину генерируемого кода, по умолчанию вычисляется после генерации QR
- height -- Может задавать высоту генерируемого кода, по умолчанию вычисляется после генерации QR
- size -- Задает размер пикселя QR. По умолчанию 3
- margin -- Отступ от краев, задаётся в единицах, указанных в size
- level -- Уровень коррекции ошибок (L - 7%, M - 15%, Q - 25%, H - 30%). Задает избыточность кода QR
- bgcolor -- Цвет фона, может быть transparent, по умолчанию #FFFFFF
- fgcolor -- Цвет пикселя, может быть transparent, по умолчанию #000000
- logo -- Вставка логотипа в QR. Задается как относительный путь от wp-content.
Для правильной генерации обязательно должен быть установлен level как "H" - alt -- Атрибут ALT изображения QR. По умолчанию -- переданная строка контента
Важно. Если указаны параметры width
и height
то производится ресемплирование и изменение изображения QR после всех манипуляций с ним, в том числе после вставки логотипа, что может привести к "замыливанию" вставленного логотипа. Рекомендуем не указывать эти параметры, а изменять размеры QR кода параметром размера пикселя size
.
Кодирует произвольный текст.
Примеры использования:
[in_qr_text]Привет, мир![/in_qr_text]
[in_qr_text fgcolor="#0000CC" bgcolor="transparent"]Привет Мир![/in_qr_text]
[in_qr_text level="H" logo="/uploads/2022/06/wordpress-plugin.jpg"]Привет Мир![/in_qr_text]
Кодирует URL и выводит изображение ссылкой на этот URL.
Примеры использования:
[in_qr_url]https://github.com/ivannikitin-com/in-qr-code[/in_qr_url]
[in_qr_url width="300" height="300"]https://github.com/ivannikitin-com/in-qr-code[/in_qr_url]
Кодирует E-mail и выводит изображение ссылкой на этот URL.
Примеры использования:
[in_qr_email]test@example.com[/in_qr_email]
Кодирует визитную карточку в формате vCard. Используются следующие дополнительные атрибуты шорт-кода:
name
-- Имя пользователя, по умолчанию содержимое шорт-кодаtitle
-- Должностьorg
-- Название компанииbirthday
-- День рождения ГГГГ-ММ-ДДaddress
-- Адрес, поля разделяются точкой с запятой: дом и улица; населённый пункт; регион (штат, область); почтовый индекс; странаtel
-- Телефон, предполагается рабочийemail
-- E-mailurl
-- Адрес сайтаnote
-- Заметки
[in_qr_vcard
title="Директор"
org="Рога и копыта"
address="1;Набережная ул.;г.Черноморск;Одесская обл.;20830;СССР"
tel="+48(2)999-99-99"
email="o.bender@mail.ru"
]Остап Бендер[/in_qr_vcard]
Кодирует платежные реквизиты в ГОСТ Р 56042-2014. Используются следующие дополнительные атрибуты шорт-кода:
payee
-- Получатель платежаacc
-- Номер банковского счета получателяbank
-- Название банкаbic
-- БИК банкаcorr
-- Корр.счетinn
-- ИНН получателяkpp
-- КПП плательщикаlast_name
-- Фамилия плательщика или название организации плательщикаfirst_name
-- Имя плательщикаmiddle_name
-- Отчество плательщикаpayer_addr
-- Адрес плательщикаpurpose
-- Назначение платежаsum
-- Сумма оплаты
[in_qr_payment
payee="ИП Никитин И.Г."
acc="40802810102680000003"
bank="ОАО Альфа-Банк"
bic="044525593"
inn="501810901400"
last_name="Пупкин"
first_name="Василий"
sum="100"
]Добровольное пожертвование на кофе разработчику плагина[/in_qr_payment]
Программный вызов генерации позволяет сгенерировать и получить URL на QR код из любого плагина, любой темы, любого программного кода. Вызов производится обращением к фильтру c именем шорт-кода и теми же параметрами, что и у данного шорт-кода.
При вызове фильтру передается два параметра:
- Содержимое, которое используется в шорт-коде
- Массив с параметрами (те же параметры, что и у шорт-кодов)
Например, нужно получить QR к E-mail, синими пикселями и прозрачным фоном в коде темы. Используйте следующий код:
$params = array(
'fgcolor' => '#0000CC',
'bgcolor' => 'transparent'
);
$qr = apply_filters( 'in_qr_email', 'test@example.com', $params );
echo '<img src="' . $qr . '" alt="Мой QR код">';