Simple Plugin Info
Вот такую табличку с актуальной информацией о плагине из репозитория я вывожу в конце каждой статьи о каком-либо плагине. Для ее вывода я раньше использовал свой собственный шорткод-обертку для плагина WP Plugin Info. Но, в конце концов, мне надоел такой "костыль" и я написал свой собственный шорткод вывода информации о плагине. Меня несколько раз спрашивали, как сделать подобную табличку с информацией о плагине, поэтому я оформил этот шорткод в маленький плагин, которым могу с вами поделиться.
Скачиваем плагин по ссылке в конце страницы и устанавливаем его:
1 Распаковываем архив.
2 Копируем папку simple-plugin-info в /wp-content/plugins/.
3 Заходим в админку сайта на вкладку "Плагины" и активируем плагин.
Сразу скажу - никаких настроек в плагине нет, он просто "обертка" для шорткода, который я использую на этом сайте. Для какой-либо тонкой настройки плагина под себя вам придется править его код.
Я не стал добавлять плагин в репозиторий, так как не вижу в этом никакого смысла – он нужен слишком уж малому количеству пользователей. Да и так будет удобнее для тех людей, которые будут изменять код плагина.
Как пользоваться плагином? Очень просто, полный синтаксис шорткода такой:
[plugin name='slug' version='x.xx' date='dd.mm.yyyy'] |
Обязательный параметр тут "name", остальные можно не указывать. Name это на самом деле "ярлык" плагина в репозитории. Как его узнать? Просто откройте страницу плагина в репозитории, и вы увидите его в адресной строке:
Будьте внимательны – ярлык (slug) плагина в репозитории может отличаться от названия папки плагина.
Таким образом, минимальный шорткод плагина выглядит так:
[plugin name='akismet'] |
Что выдаст вот такую табличку о плагине:
Шорткод с указанием рассматриваемой версии задается так:
[plugin name='cool-image-share' version='2.00' date='09.12.2016'] |
И выведет он такую таблицу:
То есть рассматриваемая и текущие версии совпадают, а значит, посетители могут сделать вывод о том, что ваша статья о плагине полностью актуальна. В противном же случае, будет видна разница:
Но использовать эти параметры шорткода вовсе не обязательно. Тем более, что в репозитории сменили отображение даты последнего обновления плагина (там теперь выводится что-то типа "4 weeks ago") и легко узнать точную дату проблематично (но ее можно увидеть в исходном коде страницы).
В случае если плагин был удален из репозитория или сам репозиторий не отвечает, будет выведена такая таблица:
Вот, собственно, и все по функционалу плагина.
Теперь немного о внутренностях плагина. Плагин использует функцию wp_remote_post() для запроса информации о плагине. Это может немного смущать, так как в WordPress есть "родная" функция запроса информации о плагине plugins_api() и именно ее рекомендуют использовать для этих целей. Однако, тесты показали, что функция plugins_api() ровно в 2 раза тормознее функции wp_remote_post(). Почему? Я не знаю. Но тесты я проводил на разных сайтах и серверах, поэтому случайностей тут быть не может. Запрос информации о плагине с помощью wp_remote_post() занимает около 0.5 секунды, а с помощью plugins_api() больше секунды. Даже при использовании кэширования вариант с более быстрой функцией явно предпочтительнее.
Кстати, по поводу кэширования. Оно, естественно, в плагине сделано. Потому что увеличивать загрузку страницы при каждом ее открытии на 0.5-1 секунду было бы неразумно. То есть плагин запрашивает информацию о плагине из репозитория, сохраняет ее в базе данных и целые сутки больше не запрашивает ее снова. Да, актуальность информации может запаздывать на 24 часа, но лучше так, чем значительно увеличивать время загрузки страницы. Время жизни кэша, кстати, вы можете задать в плагине, исправив код:
52 | set_transient('plugin_info-'. $a['name'], $temp, 24 * HOUR_IN_SECONDS); |
Где '24' это количество часов. Время жизни кэша для каждого плагина индивидуально, что помогает равномерно распределить нагрузку (не получится ситуации, когда кэш сбрасывается одновременно для сотен плагинов и сайт резко начинает тормозить, заново запрашивая информацию сразу обо всех плагинах, которые описываются на сайте).
Внешний вид таблички (цвета и прочее) вы можете задать путем редактирования файла simple-plugin-info.css в папке плагина. Я проверил вывод таблички плагина примерно в 10 разных темах – везде она выводится более-менее одинаково. Но, в случае необходимости – правьте файл стилей.
Код плагина я снабдил относительно подробными комментариями, чтобы вы могли в нем разобраться. Если вам необходимо добавить в табличку новые поля, то обязательно загляните в описание функции plugins_api(), чтобы узнать их названия. А потом, по примеру, добавляйте их в код шорткода. С любыми вопросами можете писать в комментарии – я вам обязательно помогу.
Simple Plugin Info
Автор плагина: Flector
Рассматриваемая версия: 1.00 от 08.01.2017
Текущая версия: нет информации
Совместимость с версией WordPress: 3.5 и выше
Скачать плагин версии 1.00 (всего скачиваний: неизвестно)
Понравился пост? Подпишись на обновления по RSS или Twitter !
#1,
Можно также увидеть в plugins.trac.wordpress.org/browser/слаг_плагина/trunk/, наведя мышей на возраст:
http://i.imgur.com/jCtA5gY.png
Попасть в trac нужного плагина легко из вкладки Developers страницы плагина в репо
#2,
ну да, тоже вариант. что-то я не додумался в trac заглянуть.
#3,
Спасибо Flector, это я на форуме просила!
#4,
Странный вы Александр. Полгода назад я у вас просил этот шорткод, а вы у меня за него деньги потребовали. Теперь же бесплатно для всех его выкладываете. И чего тогда сразу то мне не дали?
#5,
Павел, это вы странный. насколько я помню, вы хотели получить шорткод "как у меня", но без привязки к плагину WP Plugin Info, которым я пользовался. то есть я должен был потратить свое время на создание шорткода для вас и при этом совершенно бесплатно, так? я попросил у вас чисто символическую сумму в 500 рублей, чтобы был стимул переписывать то, что у меня и так прекрасно работало. вы отказались, поэтому я забил на эту "работу" до лучших времен. и вот у меня нашелся свободный день, чтобы написать и оттестировать плагин и я выложил его бесплатно, так чем вы недовольны то? тем, что я тогда не захотел работать бесплатно?
#6,
Flector, не обращайте внимание на неблагодарных. Спасибо за плагин!
#7,
Здравствуйте. Нашел ваш блог, так как вспомнил где о подобном плагине года четыре назад читал (а может и об этом же). И какого мое удивление, когда статья свежая:) Благодарен.