WordPress как на ладони
Шаблоны, плагины и темы для настоящих поклонников Elementor. От TemplateMonster.com 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

  • Добавить ответ
274 коммента
Полезные 20 Вопросы 3 Все
  • Сергей

    Здравствуйте, этот код

    $url = 'https://site.ru/link';
    echo KCC::$inst->get_link( $url )->link_clicks;

    выводит только подсчет самой ссылки, а если одна и та же ссылка встречается в нескольких постах как тогда быть, как выводить по ID поста?

    Ответить1.4 год назад #
    • Kama6809

      Пример получения данных кликов по ссылке ссылки из записи:

      $url = 'https://site.ru/link';
      $in_post = 43;
      $kcc_url = KCCounter()->get_kcc_url( $url, $in_post, $download = 0 );
      echo KCCounter()->get_link( $kcc_url )->link_clicks;
      Ответить1.4 год назад #
      • Сергей

        А если этих новостей очень много, можно как-то $in_post = 43; автоматически получать?

        Спасибо большое, все разобрался, вот так все отлично работает

        $url = 'https://site.ru/link';
        $in_post = $post->ID;
        $kcc_url = KCCounter()->get_kcc_url( $url, $in_post, $download = 0 );
        echo KCCounter()->get_link( $kcc_url )->link_clicks;
        Ответить1.4 год назад #
  • Сергей

    Я уже вам наверное уже надоел, у меня к вам еще один вопрос, на сайте вывожу форму чтобы сортировать новости по просмотрам, по комментариям и т.д.

    if ($_GET['select'] == 'newest') { $order = "&orderby=date&order=DESC"; $s1 = ' selected="selected"'; }
    if ($_GET['select'] == 'views') { $order = "meta_key=tie_views&orderby=meta_value_num"; $s2 = ' selected="selected"'; }
    if ($_GET['select'] == 'comments') { $order = "&orderby=comment_count&order=DESC"; $s3 = ' selected="selected"'; }
    if ($_GET['select'] == 'update') { $order = "&orderby=modified"; $s4 = ' selected="selected"'; }
    if ($_GET['select'] == 'download') { $order = "**Как мне здесь отсортировать новости по скачиваниям по вашему плагину, не могу дать ума**  (:scratch_one-s_head:) "; $s5 = ' selected="selected"'; }
    ?>
    <form method="get" id="order">
    <select name="select" onchange='this.form.submit()' style="width:300px">
    <option value="">Сортировать по...</option>
    <option value="newest"<?=$s1?>>Новые</option>
    <option value="views"<?=$s2?>>Самые просматриваемые</option>
    <option value="comments"<?=$s3?>>Самые обсуждаемые</option>
    <option value="update"<?=$s4?>>Последние обновления</option>
    <option value="download"<?=$s5?>>Самые скачиваемые</option>
    </select>
    </form>
    
    global $query_string; // параметры базового запроса
    query_posts($query_string.'&'.$order); // базовый запрос + свои параметры

    Вообщем надо отсортировать новости по скачиваниям от большего к меньшему по вашей таблице? Я в коде выделил где надо это сделать.

    Ответить1.4 год назад #
    • Kama6809

      Тебе нужно внедриться в запрос через хуки. И там прилепить таблицу плагина через LEFT JOIN. Объединяешь по wp_posts.ID = wp_kcc_clicks.in_posts. И потом еще одним фильтром изменяешь поле сортировки на link_clicks. В коде не подскажу, там писать надо и проверять... Попробуй, если не получится пиши в личку, будем посмотреть, только уже не бесплатно... pardon

      Ответить1.4 год назад #
  • Сергей

    Перерыл весь интернет в поисках плагина для загрузки файлов и возможностью подсчета количества скачиваний, и с уверенностью могу сказать, что это ЛУЧШИЙ плагин для подсчета-загрузки файлов на Вордпресс. Автору отдельный респект за такой полезный плагин!

    Ответить1.4 год назад #
  • kudros

    Привет. Попробовал твой плагин. Мне он нужен для подсчета переходов по рекламе из сайдбара, ссылка содержится в банере картинке, так вот я добавляю класс count, но плагин не считает переходу по банеру и в исходном коде пропадает этот класс https://yadi.sk/i/Q_2zpYov3QXVEt
    Час уже сижу тыкаюсь, не пойму как решить, подскажешь что я не так делаю? smile И еще в посте написано, что jQuery галочка где то должна быть, я ее не нашел...

    1
  • Станислав

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

    Это отличный плагин но будет еще лучше если в нем будет возможность:

    • указать дополнительный чет бокс что при скачивании будет переход на страницу (которую также можно будет указать в шорт коде)
    • на странице на которую осуществлен переход будет счетчик, по окончанию которого будет осуществлено скачивание фала автоматически

    Уверен это будет просто гигантский бонус к твоему плагину. Ничего подобного в плагинах еще пока нет.

    • Kama6809

      Я делал такое дополнение к этому плагину на заказ. Но кажется с последней версией тот код не будет работать, его нужно переделать немного. На это все время нет, а на бонусы кашу не сваришь... Но спасибо, может когда-то появится такая фишка... Если нужно такое дополнение, напиши в личку...

  • @ Александр

    Привет. Плагин очень понравился, но появилась проблема. В настройках плагина есть функция "прятать URL ссылки под ID ссылки", при которой счетчик в блоке загрузок перестает считать загрузки (виджет же показывает все клики). Как быть? Можно ли в блоке это как-то поправить?

  • Паша

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

    • Kama6809

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

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

  • 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
    • Kama6809

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

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

    • Kama6809

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

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

      • @ Ольга

        Только что установила последнюю версию. Та же проблема: ссылка (через шорткод) от имени админа засчитывает 2 клика при однократном нажатии. От имени гостя или подписчика засчитывается 1 клик. Со ссылкой класса count проблем нет. Мне это не мешает, я не собираюсь скачивать файлы со своего сайта. Просто сообщаю, что такое случилось не на одном сайте, не только у Дмитрия.

        И большое вам спасибо за легкий удобный плагин со столь гибкой настройкой!

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

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

    • Kama6809

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

Здравствуйте, !     Войти . Зарегистрироваться