WordPress как на ладони
Наставник Трепачёв Д.П., phphtml.net 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, дата: 2.8 года назад

Установка

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

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

Удалять плагин нужно как все плагины 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 270 комментариев
Полезные 16 Вопросы 1 Все
  • Сергей

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

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

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

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

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

      $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;
      Ответить3 месяца назад #
      • Сергей

        А если этих новостей очень много, можно как-то $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;
        Ответить3 месяца назад #
  • Сергей

    Еще вопрос, а можно как-то реализовать вывод количества скачиваний также как в плагине Kama Postviews? Т.е. чтобы обновлялись данные через Ajax в реальном времени, нагрузка от сайта приличная и не очень-то охота часто сбрасывать кеш плагина WP Super Cache, так как посты обновляются и добавляются очень редко.

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

      Для этого нужно прилично доработать плагин. Можешь попробовать сам сделать обновление данных через AJAX.

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

        Спасибо за ответ, я в AJAX новичок dash , но попробую что-нибудь смастрячить, может что-нибудь и получится smile

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

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

    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); // базовый запрос + свои параметры

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

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

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

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

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

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

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

Ваш комментарий