WordPress как на ладони
WordCamp Saint Petersburg 2018 wordpress jino

Kama Click Counter: подсчет кликов по ссылкам

Предлагаю вниманию плагин, который умеет считать количество кликов по указанной ссылке и выводить блок загрузки файлов, клики по которому подсчитываются. Альтернатива, на мой взгляд, не очень удобному  Downloads Manager.

Лирика

Я конечно согласен, что без интернета ужасно, но так бывает не всегда. Права была моя "еврейская бабушка", когда говорила, – нет худа без добра. Вот и я в этом убедился.

Очередная поломка на АТС, которая периодически расшатывает мою, и без того нестабильную, нервную систему, навела меня на разные мысли. Череда хаотичных и не нужных мыслей кончилась ровно тогда, когда я решил улучшить свой плагин, умеющий считать клики по ссылке, с незамысловатым названием Kama Click Counter.

Первую версию плагина я набросал в Марте 2011 года, и стало как-то легче дышать, потому что удалил «Downloads Manager» с этого блога. Как же меня раздражало добавление в нем новых файлов...

Вторая версия родилась как раз в эти «безинтернетные» дни. Сначала было так, а сейчас стало так:

Таблица статистики KCC

О плагине

Kama Click Counter – плагин для WordPress, который считает количество загрузок файла. Файлы загружаются отдельно. Также плагин умеет считать клики на любые другие ссылки в статье и теме вцелом - какие угодно.

Kama Click Counter плотно связан с медиатекой WordPress. Если указанный для подсчета файл находится в медиатеке WordPress, то ссылка привязывается к этому файлу: при изменение названия или описания у файла из плагина они так же меняются у файла в медиатеке и наоборот. При удалении файла из медиатеки ссылка также удаляется из таблицы ссылок у плагина, но не наоборот. Визуально привязка видна в поле "Аттач" на странице статистики.

Файлы загружаются через файловый загрузчик WordPress или как-то еще, нет разницы. Затем, копируем ссылку на загруженный файл используем кнопку в визуальном редакторе:

kcc-mce-button

В результате будет вставлен шоткод, который при просмотре записи будет заменен на html код - шаблон, который указывается в настройках плагина:

Базовый шаблон загрузки файла. Вид спереди ))

Шаблон можно изменить под себя в настройках:

Страница настроек KCC

Другие настройки

html класс ссылки

Плагин умеет считать клики на любые ссылки. Чтобы активировать подсчет ссылке нужно добавить класс count (class="count"). Название класса меняется в настройках.

Количество кликов для простых ссылок

Включив эту опцию, можно выводить статистику кликов по ссылке "в аттирбуте title" или "текстом после ссылки". По умолчанию количество кликов не выводится для экономии на запроса к базе данных.

Различать ссылки с разных постов

Если галочка отмечена (по умолчанию), то плагин будет считать одинаковые ссылки с разных постов отдельно. Т.е. для каждого поста будет вестись свой подсчет кликов. Если такая опция не нужна, снимите галочку, тогда одинаковые ссылки будут записываться в одно место.

Добавить ли jQuery

Без этой галочки. Плагин будет считать ссылки с классом count только в контенте статьи. Если эта опция установлена, то в подвал сайта будет добавлен маленький jQuery код, благодаря которому можно указывать класс count для абсолютно любой ссылки на сайте и клики по ней будут фиксироваться в статистике. Отключать эту опцию в общем-то нет смысла, она никак не грузит ничего, единственная причина отключить её - это если у вас на сайте не используется jQuery и ради этой опции подключить библиотеку вы не хотите.

Редактирование статистики

После того, как ссылка записана в базу данных, её аттрибуты, такие как: размер файла, название, описание, количество кликов, можно изменять, для этого нажмите на ссылку "Изменить" на странице статистики и вы попадете на такую страницу:

Страница редактирования отдельной ссылки

Скачать

Kama Click Counter
Последняя версия плагина в каталоге плагинов wordpress.org
Скачано: 289, размер: 95.5 KB

Установка

Как устанавливать любой плагин читайте в этой статье.

Удаление плагина

Удалять плагин нужно как все плагины WordPress: со страницы плагинов, кнопка "удалить", когда плагин деактивирован. При удалении плагина со страницы плагинов, плагин удаляет за собой все: свою таблицу в базе данных и опции.

Обновления

Остальной лог изменений смотрите в каталоге WordPress

Версия 3.2 (6 сентября 2014)

  • Добавил поддержку шорткодов. Изменил прошлый шоткод с [download=] на [download url=""];
  • Добавил кнопку в TinyMce редактор;
  • Добавил виджет;
  • Поддержка локализации и перевод на англ;
  • Некоторые правки в коде.

Версия 3.0 (28 августа 2014)

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

Очень много изменений. Многое поменял в коде:

  1. Адаптация под последнюю версию движка. Куча правок в коде.

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

  3. Добавил колонку в админ-панели: дата последнего клика. Это удобно, когда нужно почистить таблицу, сразу будет видно какие ссылки не кликаются уже давно, а значит их либо нет, либо они как-то случайно попали в статистику.

  4. Добавил jQuery код, который позволяет создать подсчет для абсолютно любой ссылки на сайте. До этого можно было только внутри поста. А теперь где угодно. Для этого нужно добавляете любой ссылке класс count и все.

  5. Поправил удаление плагина (чтобы чистил за собой все) и активацию тоже поправил.

  6. Поменял иконки к файлам. Теперь их больше и они выглядят современнее - плоский стиль. См. у меня на сайте и на скринах.

  7. И другие доработки: значительно улучшил логику PHP кода. В админку добавил всякие удобные ссылки: со страницы плагинов на страницу настроек, статистики. В статистике: добавил иконки; так нагляднее; спрятал столбик название, теперь его видно при наведении на ссылку; добавил ссылку на удобный поиск аналогичных ссылок; подправил сам поиск и еще всякие мелочи.

В итоге получилась некая работа над ошибками и доп. работа над удобством использования. Обновляться строго рекомендую. Следующее в планах выложить в репозиторию WP и перевести на англ (есть желающие помочь с переводом?).

v2.2.6 (11 июня 2013)

  1. Убрал отдельный файл редиректа и сделал его через хук WordPress, так удобнее;

  2. Добавил возможность считать один и тот же файл из разных страниц в одно место (см. настройку различать ссылки для разных постов). Был баг, в комментах говорили;

  3. Исправил баг: добавил возможность добавлять ссылки с протоколом ftp.

  4. Добавил картинок: добавил шоткод [icon_url] в шаблон загрузок, который выводит ссылку на картинку к типу загружаемого файла;

  5. Добавил поиск в админке, чтобы легко можно было найти нужный файл;

  6. Подредактировал разные мелочи. Немного доработал код.

Опрос

Что добавить в плагин Kama Click Counter

  • Добавить ответ
Kama Click Counter: подсчет кликов по ссылкам 278 комментов
Полезные 19 Вопросы 3 Все
  • Паша

    В админке плагина постоянно появляются левые файлы, типа номер и кривая ссыль. Их количество возрастает многократно, если постоянно не чистить. Что это такое?

    Ответить2 месяца назад #
    • Kama5287

      В плагине есть настройка Исключения, туда впиши часть кривых URL чтобы в таблицу они не попадали...

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

      Ответить2 месяца назад #
  • stas

    Здравствуйте. Ваш плагин скачивание считает отлично, но не выводятся количество скачиваний. Адрес ссылки я беру из производного поля:

    <a href="<?php echo $download; ?>" class="load icon-download-1 count">Download</a>

    Как я только не пробовал выводить кол-во скачиваний - ничего не помогает. Код вставлял между тегами после слова Download.

    Пробовал так:

    1)

    <?php echo do_shortcode( '[link_clicks]' ); ?>

    2)

    <?php $url = 'https://mysite.com/article';
    echo KCC::$inst->get_link( $url )->link_clicks; ?>

    3)

    <?php $url = 'https://mysite.com/article';
    echo KCClick::$inst->get_link( $url )->link_clicks; ?>

    4)

     <?php $url = 'https://mysite.com/article';
    $in_post = $post->ID;
    $kcc_url = KCCounter()->get_kcc_url( $url, $in_post, $download = 0 );
    echo KCCounter()->get_link( $kcc_url )->link_clicks; ?>

    Шорткод выводился текстом, остальное - пустота. Может подскажите в чём может быть дело?

    1
    Ответить2 месяца назад #
    • Kama5287

      Для get_link() нужно именно kcc_url указать а не просто URL... Т.е. работать может только 4 вариант, то тут нужно чтобы параметры $in_post, $download совпадали с теми что ставятся для ссылки... download в твоем случае = 0, а вот in_post зависит от настройки (разделять клики в разных постах...)..

      Ответитьмесяц назад #
  • Дмитрий

    Здравствуйте, после обновления плагина до версии 3.6.6, подсчет стал вестись не правильно. Делаешь клик, а он считает якобы 2 раза кликнули (скачали), а также появилась возможность накручивания кликов (скачиваний), до обновлений никаких проблем не было. Что делать, как исправить, подскажите пожалуйста? Деактивация и активация плагина не помогает. Причем такая проблема возникает, только когда работаешь в браузере, в котором зашел в свою учетную запись, тоесть когда админ сайта скачивает файлы, начинается хаос (вместо одного - два клика учитываються, и можно накрутить сколько угодно скачиваний), а когда не админ скачивает, все нормально работает. Что это, баг?

    Ответитьмесяц назад #
    • Kama5287

      2 клика - это странно, в последнем обновлении я ничего такого не обновлял. У меня все норм работает. Тут судя по всему отправляяется 2 запроса, почему так происходит - это вопрос скорее к твоему сайту...

      Накрутка кликов она была всегда и будет, как от этого защититься, клики не считать?.. Кому нужно клики накручивать на скачку файла?

      Ответитьмесяц назад #
  • Vlastev cайт: obzor-tyt.ru

    Возможно ли добавить в плагин функцию, при которой по нажатию на ссылку, будет осуществляться открытие отдельного окна, не затрагивая того, на котором нажали?

    Ответитьмесяц назад #
    • Kama5287

      Можно, но для этого нужно дополнительный код писать, у меня время нет для этого... Как только смогу, так сделаю.

      Ответитьмесяц назад #
  • aviva

    I set up my link so it opens to a new page and the first time I do it, it works and counts the click. Then the second time I click it, it opens to the new page but it does not count the click.
    If I wait some time between clicks, it registers both. Is there something I can do to make it register the click every time without waiting between clicks? I think it's related to caching the link- is there a way to turn that off? Basically, I want to be able to click multiple times and it should count the clicks without waiting any time between them.

    Ответить14 дней назад #
    • aviva

      Also, is there a way to add in a confirmation pop up that says "Are you sure you want to click?" and if he user clicks "yes", it opens the link and counts the click

      Ответить14 дней назад #
  • Валентин

    Здравствуйте.
    Использую Kama click counter для подсчета кликов по ссылке tel:+77777777, то есть в мобильном варианте сайта должно позвонить на этот номер, но удаляется + перед номером, соответственно звонить не получается. Можно ли как то настроить чтобы не удалялся плюс. Спасибо.

    Ответить11 дней назад #
  • Maksovich

    Здравствуйте. Перестал работать счетчик после обновления до 3.6.6.1, до этого была версия 3.6.2. Тестировал в локалке, на Денвере (тестовый полигон так сказать) и на основном сейте. И там и там не работает. При кликах по ссылкам счетчик создает какие-то левые файлы в своей статистике и туда начинает считать статистику от других файлов которые были раньше добавлены. Если я создаю новый счетчик для файла, он считает его 1 раз и в статистике создает сразу 2 файла. Правильный с названием файла и левый куда потом начинает считать статистику.

    Ответить8 дней назад #
    • Kama5287

      Я такую проблему не вижу в новой версии. Да и в логике кликов ничего в коде не изменял. Ты можешь мне скрины/ссылки показать, а то не понятно что за левые файлы... По реальным ссылкам, скринам может быть я бы еще что-то понял что происходит, а так по тексту идей не возникает...

      Ответить8 дней назад #
      • Maksovich

        тут стрелками показано какой файл к какому относится.

        тут показано что в этих файлах (ссылках) куда считает счетчик.

        Ответить8 дней назад #
        • Kama5287

          Хмммм, чет странно похоже на баг. А в настройках установлено: Прятать ссылку под ID?

          Ответить8 дней назад #
        • Kama5287

          Не могу смоделировать и так и так пробую, у меня пашет все норм. Что-то у тебя там не то... Как активируешь клики? Откуда эти числа 10, 12 могут быть? Покажи сами ссылки, оригинальные и как они в HTML коде выглядят...

          Ответить8 дней назад #
          • Maksovich

            Исходный код и внешний вид.

            Настройки плагина.

            Исходный код в браузере.

            Ответить7 дней назад #
            • Kama5287

              Обновил плагин, баг был, обновись до 3.6.7 все будет работать как надо. Ну и спасибо за баг репорт! thank_you

              Ответить7 дней назад #
  • Maksovich

    Кстати, небольшое пожелание. На мой взгляд было бы неплохо иметь возможность задавать несколько стилей для шаблона загрузок и при добавлении ссылки со счетчиком выбирать какой стиль добавить к этой ссылке. Потому что иногда полноценный шаблон вставлять громоздко а добавлять класс для ссылки не очень удобно, особенно если их много, плюс у меня это в данный момент не работает корректно, то есть количество кликов по ссылке считает, но ни в title и после ссылки не выводит. Проверил в локалке и на основном. Походу еще баг?

    Ответить6 дней назад #
  • Adriano cайт: programmy.club

    Хочу сделать возможность скачивания файла в сайдбаре, т.е. через код шаблона, а не записи. Какой код мне необходимо прописать для того, чтобы отдавался урл файла? Благодарю.

    1
    Ответить2 дня назад #

Здравствуйте, !