ALStrive: Рекламные шорткоды
Многофункциональные рекламные шорткоды Wordpress
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/zchk0/ad-blocks-shortcodes/archive/refs/heads/master.zip# ALStrive Ad Blocks Shortcodes
Плагин для WordPress, который позволяет создавать группы рекламных материалов и выводить их через шорткоды с ротацией.
Основные возможности:
- Группы рекламных блоков с ротацией по времени или случайным показом при загрузке страницы.
- Элементы двух типов: HTML/JS код или картинка с ссылкой.
- Фильтрация по странам (код из
$_SERVER['GEOIP_COUNTRY_CODE']). - Контроль показа на мобильных устройствах.
- Гибкая настройка размеров и стилей изображения, включая мобильные профили.
Как работает
- Создайте группу в разделе «Рекламные шорткоды» и настройте ротацию.
- Создайте элементы в разделе «Рекламные материалы», привяжите их к группе и включите.
- Вставьте шорткод в контент или виджет.
Шорткод:
[ad_block id="123"][ad_block slug="my-group"]- Можно добавить CSS-класс:
[ad_block id="123" class="my-class"]
Вывод на фронтенде
Шорткод рендерит обёртку вида:
div.abs-ad-blockс атрибутами:data-abs-group-id— ID группы.data-abs-item-id— ID выбранного элемента.data-abs-interval— интервал ротации (сек).data-abs-rotation-type—timeилиpage_random.
Внутри обёртки размещается div.abs-ad-inner с HTML выбранного элемента.
Ротация
time: элементы обновляются через AJAX с указанным интервалом. При смене обновляетсяdata-abs-item-id.page_random: случайный элемент выбирается один раз при загрузке страницы, без автообновления.
Фильтры показа
- Выводятся только активные элементы.
- Для мобильных устройств учитывается флаг «Рендерить блок на мобильных устройствах».
- Если указаны коды стран, элементы показываются только для них.
Настройка GEOIP_COUNTRY_CODE
Плагин читает код страны из $_SERVER['GEOIP_COUNTRY_CODE']. Если переменная не задана, фильтр по странам не применяется.
Нужно настроить веб‑сервер так, чтобы он определял страну по IP и прокидывал код в окружение PHP.
Пример для Nginx + geoip2 (GeoLite2-Country):
geoip2 /etc/nginx/GeoLite2-Country.mmdb {
$geoip2_data_country_code default=US source=$remote_addr country iso_code;
}
server {
# ...
location ~ \.php$ {
# ...
fastcgi_param GEOIP_COUNTRY_CODE $geoip2_data_country_code;
}
}
Для Apache используйте модуль GeoIP/MaxMind, который выставляет код страны в переменную окружения, и смэппьте её в GEOIP_COUNTRY_CODE (см. документацию модуля).