Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/ivannikitin-com/in-qr-code/archive/refs/heads/main.zipПлагин гибкой генерации 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]

QR синего цвета с прозрачным фоном
[in_qr_text fgcolor="#0000CC" bgcolor="transparent"]Привет Мир![/in_qr_text]

QR с текстом и произвольным логотипом
[in_qr_text level="H" logo="/uploads/2022/06/wordpress-plugin.jpg"]Привет Мир![/in_qr_text]

Шорткод in_qr_url
Кодирует URL и выводит изображение ссылкой на этот URL.
Примеры использования:
Ссылка на сайт
[in_qr_url]https://github.com/ivannikitin-com/in-qr-code[/in_qr_url]

Ссылка на сайт размером 300x300
[in_qr_url width="300" height="300"]https://github.com/ivannikitin-com/in-qr-code[/in_qr_url]

Шорткод in_qr_email
Кодирует E-mail и выводит изображение ссылкой на этот URL.
Примеры использования:
QR с E-mail
[in_qr_email]test@example.com[/in_qr_email]

Шорткод in_qr_vcard
Кодирует визитную карточку в формате vCard. Используются следующие дополнительные атрибуты шорт-кода:
name-- Имя пользователя, по умолчанию содержимое шорт-кодаtitle-- Должностьorg-- Название компанииbirthday-- День рождения ГГГГ-ММ-ДДaddress-- Адрес, поля разделяются точкой с запятой: дом и улица; населённый пункт; регион (штат, область); почтовый индекс; странаtel-- Телефон, предполагается рабочийemail-- E-mailurl-- Адрес сайтаnote-- Заметки
Визитка в QR
[in_qr_vcard
title="Директор"
org="Рога и копыта"
address="1;Набережная ул.;г.Черноморск;Одесская обл.;20830;СССР"
tel="+48(2)999-99-99"
email="o.bender@mail.ru"
]Остап Бендер[/in_qr_vcard]

Шорткод in_qr_payment
Кодирует платежные реквизиты в ГОСТ Р 56042-2014. Используются следующие дополнительные атрибуты шорт-кода:
payee-- Получатель платежаacc-- Номер банковского счета получателяbank-- Название банкаbic-- БИК банкаcorr-- Корр.счетinn-- ИНН получателяkpp-- КПП плательщикаlast_name-- Фамилия плательщика или название организации плательщикаfirst_name-- Имя плательщикаmiddle_name-- Отчество плательщикаpayer_addr-- Адрес плательщикаpurpose-- Назначение платежаsum-- Сумма оплаты
QR код для оплаты банковским приложением
[in_qr_payment
payee="ИП Никитин И.Г."
acc="40802810102680000003"
bank="ОАО Альфа-Банк"
bic="044525593"
inn="501810901400"
last_name="Пупкин"
first_name="Василий"
sum="100"
]Добровольное пожертвование на кофе разработчику плагина[/in_qr_payment]

Программный вызов генерации QR из произвольного места
Программный вызов генерации позволяет сгенерировать и получить 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 код">';
