Главная Новости

Плагины vs коды WordPress


Опубликовано: 05.09.2018

видео Плагины vs коды WordPress

Вставить код на сайт в хедер и футер плагин Wordpress Insert

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



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

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


WordPress Themes & Plugins Code Editor

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

Вставка кода

Как правило, для реализации какого-нибудь функционала, требуется вставить код в несколько файлов текущей темы , например: functions.php - собственно код, style.css - некое стилевое оформление нашей вставки и single.php - привязка всего этого к нашим записям.

Конечно, варианты тут могут быть разные - всё зависит от того, что конкретно мы хотим этим кодом реализовать.

Примем за основу, что ручки у нас не совсем кривые и при вставке кода мы случайно не затёрли какую-нибудь фигурную скобку в редактируемом файле, и блог у нас остался функциональным, и даже наша фишка заработала. Хотя знаю примеры, когда таким кодом некоторые умудряются заменять всё содержимое файла, либо втыкают код не туда и потом плачутся - почему у них блог перестал работать. Но сейчас не о них, мы договорились, что ручки растут оттуда откуда надо и голова более-менее светлая у нас.

Итак, вставили всё правильно, всё работает, ура, оркестр - тушь, цветы и всё прочее. Короче радуемся.

А теперь вот скажите, многие ли из Вас точно понимают что за код они вставили? Я имею в виду именно с программной точки зрения. Ведь как правило, большинство не пишут сами такой код, а берут его с других сайтов, где авторы публикуют эти коды зачастую, кстати, скопированные опять-таки с каких-то других сайтов. Возьмите это себе на заметку и пойдём дальше...

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

Короче говоря, наш functions.php постепенно разрастается, а заодно с ним, возможно и style.css, да и всё тот-же single.php уже начинает пестрить непонятными вставками... Ведь, если помните - мы-же абсолютно не понимаем сути того, что вставляем - откуда-то скопировали и вставили куда было указано.

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

Всё-бы ничего, но потом бац - и вышло обновление темы. И всё, что мы с дрожью в руках делали где-то Ctrl+C, а у себя Ctrl+V в один миг исчезло. Ладно, многие настолько умны, что темы принципиально не обновляют.

Но разве в какой-то момент нам не захочется просто сменить шаблон? Всё устаревает и приедается со временем...

А ещё движок WordPress нет, нет да и подкинет своё обновление. Ведь разрабам надо-же за что-то денюжку получать, вот и сидят они - то одни фишки отключат, то другие на новые заменят. А код Ваш, как раз мог за эти фишки и цепляться. И в какой-то момент Вы, заглянув на свой блог, вдруг видите вместо ожидаемой красоты какие-то сообщения об ошибках, что-то типа « function split() is deprecated in... », ну или что-то другое - не суть.

И вот тут-то начинается самое интересное. Это Вы в момент вставки конкретного кода помнили куда вставили, что и зачем. Возможно помнили эту информацию ещё пару дней после вставки. А спустя несколько месяцев, да при нескольких вставках... Даже если Вы всё подробно задокументировали у себя на компьютере, то начинать возню со всеми такими вставками заново, какую убирать, а где она начинается, а вот эту скобочку надо удалять или это не от неё, а вот этот вопросик с угловой кавычкой?

Если Вас это пока минуло, то поверьте - ждёт!

Плагины

Они, конечно, бывают разные... Объёмные, содержащие большой функционал, и небольшие, лёгкие... Разные, вобщем.

Но давайте не будем сравнивать маленький код с громоздким плагином, например с Crayon Syntax Highlighter . Многие почему-то говоря о вставке кода подразумевают несколько строк этого кода, а под плагином подразумевают монстра. Давайте уж как-то по аналогии... Плагин, который реализует тот-же код.

Вот для наглядности возьмём мои плагины, например, плагин, выводящий связанные записи . До определённого времени у меня такие записи выводились именно вставкой кода . Посмотрите по обоим ссылкам, неужели лучше возиться со вставкой кода?

По сути что такое плагин? Это тот-же самый код! Это то, что Вы вставляете руками в разные файлы, но собранное в одном месте. И Вам не надо мудрить с корректировкой файлов своей темы. Активировали и всё! С любой темой.

Да, там есть ещё несколько строк кода, отвечающих за настройку плагина в админке. Но разве это не плюс плагина - возможность настроить под себя? Та-же настройка в коде - дело не для слабонервных...

Свой плагин, я привёл только в качестве примера. Речь вообще о плагинах и кодах.

И если плагин - это тот-же самый код, то почему всё ещё бытует мнение, что вот код не тормозит блог, а плагин тормозит?

А вот тут самые въедливые читатели подадут реплику из зала: «Дружище, плагин делает запрос к базе данных! Это и тормозит...»

Отвечу:

Не каждый плагин делает запрос к базе данных. Запрос к базе данных - это не почтовое отправление почтой России с ожиданием ответа непредсказуемое время. Запрос - это миллисекунды. На работе блога ни +5, ни -10 никак не отразятся. Если говорить о тех плагинах, работу которых подразумевается заменять кодом, то это вообще не серьёзно. Такие плагины либо вообще не делают запросов к базе, либо, если они имеют какие-то настройки, делают один на запись этих настроек и один запрос на чтение. А все настройки хранятся в одной строке. Нет, конечно, если запросов чересчур много, то да... Но речь-то о тех плагинах, которые пытаются заменить кодом, а они, как правило очень лёгкие. По крайней мере нигде не встречал вставки кода, заменяющей какой-либо серьёзный и объёмный плагин - All In One Seo Pack, например...

Заключение

Вообще, по этому поводу есть отдельная статья про скорость загрузки - нет смысла повторяться.

Приведу, опять таки, для наглядности данные тестирования P3 :

Но не про мои плагины речь, в данном случае. Речь о том, что код вместо плагина не ускоряет блог, зато плагин имеет целый ряд очень явных преимуществ. Так, что не стоит менять шило на мыло, в смысле плагин на код, с потерей удобств и приобретением взамен этих удобств дополнительных проблем.

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

А вот всё-же, допустим плагин и код - одинаковы и по какой-то причине перестали работать, например после обновления движка... Найдите-ка автора кода, уговорите-ка его исправить... А если он ещё и не сам его писал, а взял где-то готовый...

А вот автор плагина, скорее всего сам уже взялся за исправления, да и обновление подоспеет автоматически - искать ничего не надо.

И в заключение я хочу привести несколько выдержек от разработчиков WordPress, ссылку на их статью мне как-то привёл Игорь Черноморец, за что я ему по сей день и благодарен.

К сожалению многие уроки WordPress в сети Интернет (серии «без плагинов») предлагают вставлять блоки кода именно в файл functions.php активной темы, потому что редактировать этот файл легче, чем создавать новый плагин, особенно через редактор файлов в панели администрирования WordPress....

Таким образом после прочтения серии подобных уроков, файл functions.php становится огромным и нечитаемым, а при смене активной темы пропадает часть функционала, которая вовсе не относится к внешнему виду сайта....

Список активных плагинов в базе данных WordPress хранится в одной опции, которая будет выбираться с одинаковой скоростью, независимо от количества активных плагинов. Иными словами, количество активных плагинов не влияет на скорость работы сайта на WordPress . Влияет лишь их содержание, ровно так же как и содержание файла functions.php.

Ну так а я про что? И вообще, советую почитать ту статью полностью...

Вот, как говорится, и сказке конец. Кто слушал, а главное, чего-нибудь понял - тот молодец!

А я желаю Вам удачи и до встречи на моём блоге.

 

rss