WP Manifestindependent plugin directory
manifest / social / ios-social-share

iPhone Social Share Buttons

Легкий WordPress-плагин с 5 кнопками для соцсетей и мессенджеров в стиле иконок iPhone. Без CDN, без сторонних JS, счетчик уникальных нажатий через AJAX. Поддержка VK, Telegram, MAX, Одноклассников и WhatsApp.

by Evgeny Fed · github.com/jekfev/ios-social-share

★ 0stars
0forks

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/jekfev/ios-social-share/archive/refs/heads/main.zip

iPhone Social Share Buttons for WordPress

Легкий WordPress-плагин с пятью кнопками для распространения материалов в популярных соцсетях и мессенджерах.

Скриншот кнопок

Кнопки оформлены в стиле иконок приложений iPhone: небольшая квадратная иконка со скруглением и красный badge со счетчиком уникальных нажатий.

Кнопки

  • VK
  • Telegram
  • MAX
  • Одноклассники
  • WhatsApp

Набор ориентирован прежде всего на российскую аудиторию и включает популярные сервисы, через которые пользователи могут делиться ссылками. Состав набора можно изменить в коде плагина.

Особенности

  • 5 кнопок в компактном формате.
  • Размер каждой кнопки — 35×35 px.
  • Размеры самих SVG-иконок подбираются отдельно для разных сервисов: 24–28 px.
  • Все иконки хранятся локально внутри плагина.
  • Нет внешнего CDN для иконок.
  • Нет сторонних JS-библиотек.
  • При обычной загрузке страницы внешние сервисы для кнопок не запрашиваются.
  • AJAX-запрос к WordPress отправляется только после нажатия на кнопку.
  • Счетчик показывает уникальные нажатия, а не все клики.
  • Повторное нажатие одним посетителем на одну и ту же сеть и одну и ту же запись не увеличивает счетчик.
  • Для авторизованных пользователей используется WordPress user ID.
  • Для анонимных посетителей используется случайный cookie-ID браузера.
  • В базе хранится HMAC-хеш идентификатора посетителя, а исходный IP-адрес не сохраняется.
  • Есть ограничение частоты AJAX-запросов для защиты от простого скликивания.
  • Плагин не требует отдельного сервера, API или внешней базы данных.

Размер и оформление

Основная кнопка имеет размер 35×35 px и скругление 10 px.

SVG-иконки отображаются в зависимости от сервиса в размерах 24–28 px.

Badge счетчика имеет размер 15 px, располагается в правом верхнем углу и скрыт, пока счетчик равен нулю.

При наведении иконка немного увеличивается, при нажатии уменьшается, имитируя поведение элементов интерфейса iPhone.

Установка

  1. Скопируйте папку ios-social-share в:
wp-content/plugins/
  1. Активируйте iPhone Social Share Buttons в WordPress.
  2. В нужном месте шаблона WordPress добавьте:
<?php ios_social_share(); ?>

Например, в content-single.php.

Также доступен shortcode:

[ios_social_share]

Как работает счетчик

Для каждой записи и каждой сети плагин хранит отдельный счетчик уникальных нажатий.

Например:

Статья №123

VK          14
Telegram    27
MAX          8
ОК           4
WhatsApp    11

Один посетитель может увеличить каждый из этих счетчиков по одному разу. Повторные нажатия на ту же кнопку не увеличивают число.

Для анонимного посетителя уникальность определяется по cookie конкретного браузера. Это не позволяет достоверно определить физического человека, если он сменил браузер, устройство или удалил cookie.

Защита от скликивания

Сервер дополнительно проверяет:

  • WordPress nonce;
  • существование и опубликованность записи;
  • допустимость названия сети;
  • уникальность события на уровне базы данных;
  • ограничение AJAX-запросов по HMAC-хешу IP.

По умолчанию принимается не более 60 запросов за 10 минут с одного IP-хеша.

База данных

При активации создаются две таблицы WordPress:

wp_ios_social_share_counts
wp_ios_social_share_unique

Префикс wp_ зависит от настройки WordPress.

Первая таблица хранит итоговые счетчики. Вторая — уникальные события, необходимые для защиты от повторного увеличения счетчика.

Share URL

Для каждой кнопки формируется прямая ссылка соответствующего сервиса:

  • VK
  • Telegram
  • MAX
  • Одноклассники
  • WhatsApp

В ссылку автоматически передаются заголовок страницы и ее текущий URL.

Совместимость

Плагин рассчитан на обычный WordPress без дополнительных зависимостей.

Для вывода в PHP-шаблоне:

<?php ios_social_share(); ?>

Для вывода через редактор или виджет:

[ios_social_share]

Лицензия

GPL-2.0-or-later.


Автор

Evgeny Fed

GitHub: https://github.com/jekfev