Лічильник завантажень для wordpress

Лічильник завантажень для wordpress

Сьогодні я вирішив поділитися плагіном виводить лічильник скачування для WordPress. поруч з посиланням на файл:

Завантажити плагін можете за цим

А також в якості доповнення до попередньої статті (Пишемо плагін WordPress) хочу продемонструвати процес написання даного плагіна, і поділитися отриманим досвідом з тобою шановний читачу.

Для того, щоб було зрозуміло, що ми будемо робити, давайте визначимося з тим, що повинно вийти:

Лічильник завантажень для WordPress своїми руками

Нам треба в результаті установки плагіна, перетворити це посилання і вивести лічильник завантажень. поруч з нею. В результаті отримаємо ось таке посилання з лічильником:

Лічильник завантажень для WordPress своїми руками (Файл скачали: 5 чоловік)

Cуть роботи плагіна:

Вихідну посилання ми оформляємо відповідно до вимоги плагіна тобто якщо у нас було:

# 91; download_file url = "upload / countdownload.zip" title = "Лічильник завантажень" # 93;
лічильник завантажень для WordPress своїми руками
# 91; / download_file # 93;

Плагін обробляє даний шорткод і замінює його більш зрозумілою формою для браузерів, дописуючи кількість скачали людина поруч з посиланням.

З принципом роботи плагіна ніби все зрозуміло, крім того як ведеться підрахунок завантажень. Зараз я і про це розповім.

При натисканні на перетворену посилання, як бачите ми потрапляємо на скрипт /download_count.php. який віддає користувачеві запитуваний файл, попередньо оновлюючи лічильник завантажень в базі даних відповідає цьому файлу.

Все ясно? Правильно не все! Що за скрипт такий download_count.php і звідки він в кореневій Директорії сайту?

Вся справа в тому, що скрипт лічильника завантажень, не повинен знаходитися в папці з файлами плагіна, тому що тоді і на засланні доведеться вказувати весь шлях до нього, а це не є гуд. Тому, плагін примусово створює цей скрипт в кореневій директорії, кожен раз коли при обробці шорткода не може виявити наявність download_count.php.

Зауважте, що якщо download_count.php був створений один раз, і не віддалявся до наступного звернення до нього, то доданок не буде його створювати кожен раз.

З теорією розібралися, перейдемо до написання коду:

При активації плагіна лічильника в адмінці WordPress, відразу створюємо таблицю в базі в яку будемо зберігати дані.

function install_download_file # 40; # 41; # 123; // при активації плагіна створюємо необхідну таблицю
global $ wpdb;
$ Wpdb -> query # 40; 'CREATE TABLE IF NOT EXISTS `download_file` (
`Url` varchar (254) NOT NULL,
`Count` int (9) NOT NULL
) ENGINE = MyISAM DEFAULT CHARSET = utf8; ' # 41; ;
# 125;
register_activation_hook # 40; __FILE__. 'Install_download_file' # 41; ;

Далі пишемо функцію, яка буде замінювати шорткод на одне з посилань

Діма. я протестував плагін, з різними розмірами файлів. У мене не вийшло відтворити вашу проблему. Тестував скачування архівів розмірами 15МБ. 20МБ. 130МБ. і 206МБ. Всі успішно завантажувати і відкривалося.
Може дійсно на вашому хостингу така проблема? Ви пробували на локальному хості потестить?

Проте я вніс деякі зміни, як в код лічильника завантажень так і в статтю.

У новій версії, виправлений баг з довгими іменами скачуваних файлів, а також доданий атрибут title. Тепер можна використовувати шорт код виду:

Легка offline версія довідника 4.0 (на пряму з сайту) і
Чи не качати! Перевірка! (З встановленим плагіном).

Не думаю, що винен хостинг. Я ставив інший плагін Kama's Click Counter і з нього великі файли гойдалися і відкривалися нормально. Але у нього, теж виявилися проблеми (іншого плану) і я його зніс. (((

Ваш плагін мені подобається більше, але завантажуються файли не вдається відкрити (перевірено не тільки мною. Пішли скарги з боку користувачів)

Дмитро, зараз на вашому ресурсі діє оновлена ​​версія плагіна? або стара? І ще питання щодо розширень, ви не пробували ті ж довідники запаковувати в zip? і віддавати у вигляді архіву? Розумію, що це не вирішення. просто хочу зрозуміти всі нюанси проблеми.

Спасибі Mark. що Ви не байдужі до своєї роботи і допомагаєте розібратися з дуже потрібним плагіном!

Плагін повністю перевстановив відповідно до Ваших рекомендацій, тепер плагін на моєму сайті оновлений.

Я більш докладно спробував пояснити суть проблеми, на прикладах:

З повагою, Дмитро

Схожі статті