Что такое плагин в php. Создаем специальный плагин функций WordPress. Возможно также вам будет интересно

Здравствуйте, уважаемые друзья и гости блога! Сегодняшний пост будет полезен как новичку, так уже и матерому вебмастеру, который еще не знает как можно вставить php код в wordpress на страницы, записи и сайдбар, чтобы он был исполнен движком WordPress.

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

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

Зачем нужно исполнение кода php на WordPress в постах, на страницах и в сайдбаре? Это каждый вебмастер решает сам для себя! Например возникла необходимость вставки в свои посты какого либо скрипта созданного на php коде или нужно вывести какое-то необычное меню в сайдбаре, мало ли.

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

Как вывести исполняемый PHP код в WordPress без плагина?

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

Для этого вам будет нужно внести некоторые изменения в файл functions.php вашей активной темы оформления сайта. Просто добавьте туда вот такой код в самом конце перед знаком "?> " :

/* чтобы вставить исполняемый код php в статьях/страницах WordPress, используйте этот шорткод: код */ function exec_php($matches){ eval("ob_start();".$matches."$inline_execute_output = ob_get_contents();ob_end_clean();"); return $inline_execute_output; } function inline_php($content){ $content = preg_replace_callback("/\((.|\n)*?)\[\/exec\]/", "exec_php", $content); $content = preg_replace("/\((.|\n)*?)\[\/exec\]/", "$1", $content); return $content; } add_filter("the_content", "inline_php", 0);

Затем используйте вот этот шорткод в своих записях и статьях для вставки исполняемого php кода:

Здесь php код

Обязательно, когда Вы будете внедрять свой php код в шорткод, не используйте вот это: «»! То есть ваш исполняемый php код вставляемый в шоткод должен выглядеть не так " " , а вот так "echo date ("Y"); " . И в конечном итоге, когда Вы вставите его в шорткод, он будет выглядеть вот так:

Echo date("Y");

  • Еще одно предупреждение для начинающих вебмастеров!

Исполнение таким образом php кода в ваших записях на WordPress делает ваш движок уязвимым для разного рода хакеров — взломщиков, которые могут им воспользоваться в своих корыстных целях. Для этого Вы должны изменить значение "exec " в коде, который вставляется в файл functions.php на свой, который известен только вам! И соответственно использовать это же значение в шорткодах для вставки в записях.

Этим действием Вы сможете избежать того, что кто-то сможет воспользоваться потенциальной «дырой», образовавшейся в результате использования данной функции — вставить php код в wordpress.

Это то, что касается вставки php кода в WordPress без использования плагина.

А теперь давайте узнаем, как можно еще вставить php код в WordPress, но уже при помощи плагина...

Как внедрить исполняемый PHP код в WordPress с плагином Exec-PHP?

Существует много плагинов для того, чтобы вставить php код в wordpress для его исполнения. Но не все они являются безопасными, так как при их установке и использовании появляются уязвимости в движке, которые не чистые на руку взломщики могут использовать.

Я вам сейчас расскажу о самом безопасном и наиболее функциональном плагине для исполнения php кода в WordPress — это Exec-PHP . Для начала его нужно скачать или с официального сайта WordPress или просто установить из своей админки на сайте. Надеюсь Вы знаете как это делается?! Если не знаете, то посмотрите . Там есть и видео ролик, в котором Вы сможете все увидеть воочию. Хоть там речь идет об установке другого плагина, но принцип один и тот же.

После установки и активации плагина в вашем основном меню админки появится :

Нажмите на нее и Вы попадете в :

Выберите здесь выполнять/игнорировать PHP код в виджетах и все.

Затем, чтобы Вы смогли вставить исполняемый php код в wordpress в записях и на страницах, Вы должны у себя в профиле установить галочку в пункте — :

Все. Теперь вы сможете добавить на свои страницы и в записи любой php код в wordpress и он будет исполнен!

Спасибо за внимание! Всем удачи! До новых встреч!

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


Конечно, проще и привычнее пойти традиционным путем и тупо вставить сниппет в файл functions.php вашей активной темы. Но в 9 из 10 случаев будет целесообразнее и правильнее вынести код сниппета в отдельный плагин . В крайнем случае, добавить его в специальный функциональный плагин вашего сайта. Т.н. Site-Specific WordPress Plugin , в котором-то и будет храниться весь дополнительный функционал вашего сайта.

Зачем это нужно

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

Как же быть

Нужно понять простую истину. В файле функций темы должны располагаться только функции, относящиеся к дизайну вашего сайта. Конкретно к той теме, файл функций которой редактируется. А вся т.н. «механика», рабочий функционал сайта и все его кастомизации правильнее размещать в плагинах. Или в одном плагине. Тогда при смене темы, он останется нетронутым.

Создаем специальный плагин функций WordPress

На самом деле, все делается очень просто.

  • В директории плагинов вашего WordPress создаете папку. Например: /wp-content/plugins/mysite-plugin/ ;
  • Создаете в этой папке файл, назвав его, к примеру, my-plugin.php ;
  • Вставляете в этот файл примерно такой код:
  • Переходите в настройки управления плагинами и активизируете свой новый плагин.

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

На этом можно и остановиться, но с моей стороны было бы не совсем правильно не упомянуть про т.н. MU-плагины .

MU-плагины (Must Use Plugins)

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

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

Преимущества MU-плагинов
  • MU-плагины не нужно активировать, они всегда активны, их невозможно отключить в консоли управления сайтом;
  • MU-плагин подключается и активируется банальной закачкой файла плагина в директорию mu-plugins;
  • MU-плагины загружаются в алфавитном порядке перед загрузкой обычных плагинов.

Обратите внимание, поддиректории у MU-плагинов, в отличие от обычных, не поддерживаются. В крайнем случае можно создать плагин и написать в нем простенький загрузчик, который будет загружать плагины из директорий. Примерно, так:

В заключение

Как видите, ничего принципиально сложного в использовании функциональных плагинов нет. А преимущества их использования налицо. Мне не раз приходилось слышать такое мнение, что плагины создают на сайт какую-то неимоверную нагрузку. У многих пользователей существуют некие предубеждения о вреде использования плагинов. Это не совсем верно. Вред могут нанести левые, неизвестно кем разработанные и неизвестно откуда скачанные плагины. Плохая оптимизация работы плагина, использование устаревших функций PHP и WordPress. Вред может быть от большого количества одновременно работающих плагинов. Особенно с дублирующим функционалом. Возможен и банальный конфликт плагинов, плагинов с темой. А при грамотном и разумном подходе, плагины принесут вашему сайту исключительно пользу .

Всё самое новое и интересное из мира Вордпресс в моём Телеграм-канале . Подписываемся!

Если вы хотите, чтобы ваш блог, чтобы нормально функционировать, идеально было бы рассмотреть вопрос об изменении или обновлении версии PHP. Новая версия PHP (PHP7) еще не является достаточно распространенным явлением, но это не задерживает, потому что эта новая версия приносит много нового и вполне вероятно, что эта версия требуется для всех хостинг WordPress.

Почему вы должны сделать обновление до PHP 7

Если вы используете WordPress сайт на сервере, вы, очевидно, установлен PHP. Так почему же обновление пока все, кажется, работает так хорошо?

Вот некоторые из наиболее распространенных причин, почему вы должны вы должны рассмотреть возможность сделать обновить PHP версии:

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

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

Также будут рассмотрены важные побочные эффекты...

Если вы хотите переключиться, все не обязательно розовые, к сожалению.

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

Каждый PHP версия предлагает новые изменения, улучшение и возможные исправления, исправление безопасности и структуру коды. В то время как некоторые обновления являются менее полными, чем другие, многие версии включают усовершенствование или модификацию, которые делают некоторые части старых устаревших версий.

В некоторых случаях целые версии, такие как PHP 4 и более не поддерживается. Если вы используете плагин, тему или скрипты на вашем сайте, которые полагаются на устаревшем коде PHP и получить обновление до более новой версии PHP, обновление сделает устаревший код и поэтому он будет нарушать свой блог,

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

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

Проверка совместимости PHP

Вот несколько плагинов, которые можно использовать, чтобы проверить совместимость среды с обновленной версией PHP:

  • Проверка совместимости PHP - Этот плагин позволяет вам определить версию PHP и провести анализ по сравнению с текущей версией PHP на вашем хостинге. Он также создает отчет, чтобы рассказать вам, что исправить.
  • Ник PHP Compiler - Инструмент проверки PHP для проверки неопределенных функций и методов.
  • Error Log Monitor - Если есть ошибки, вы можете активировать журнал, чтобы отслеживать все ошибки, что поможет вам облегчить их устранение.

Вы также можете включить частный журнал ошибок вручную, используя " WP_DEBUG ». Вы также можете увидеть, что изменилось для каждой версии PHP до обновления:

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

Как изменить PHP версии

Резервное копирование версии выполняется автоматически при изменении версии.

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

7-мая версия PHP увидела свет в недавнем 2015 году. Новый виток в развитии этого языка программирования принес много возможностей для всех тех, кто использует PHP . Среди преимуществ новой версии следует выделить скорость. Так, по данным разработчиков, скорость работы скриптов на PHP 7 , по сравнению с предыдущими версиями, возросла почти в два раза. В связи с этим, многие владельцы сайтов, на которых установлены более старые версии PHP , хотят перейти на новую.

Зачем проверять на совместимость?

Следует отметить, что перед тем, как в панели управления Вашего хостинга менять версию PHP на более новую и быструю, необходимо проверить сайт WordPress на совместимость с ней, а именно темы и плагины. Такая необходимость возникает из-за того, что обычно в новых версиях программного обеспечения какие-то функции добавляются, а некоторые вообще перестают существовать. Если в каком-то плагине или теме используется несуществующие в новой версии функции или методы, то это привет к ошибке, что может нарушить работу сайта в целом.

Как проверить на совместимость с PHP 7.0? Плагин PHP Compatibility Checker

Плагин PHP Compatibility Checker позволяет просканировать весь сайт и указать, какие из его компонентов (темы, плагины) не совместимы с выбранной версией PHP . Для начала необходимо его установить и активировать, после чего в админ-панели перейти Инструменты -> PHP Compatibility .

Как видим, плагин предлагает весьма понятные настройки. Для начала проверки необходимо выбрать версию PHP , на совместимость с которой хотите проверить сайт (блок PHP Version ). Удобной функцией плагина является выбор статуса проверяемых компонентов. Доступны на выбор два варианта: либо проверять среди активных тем и плагинов, либо в неактивных (поле Plugin / Theme Status ). Для старта проверки нужно нажать кнопку Scan site again .

Результат проверки также можно загрузить в текстовом файле, нажав для этого кнопку Download Report .

Практически каждый, кто ведет блог на WordPress и самостоятельно занимается его обслуживанием, знает о существовании волшебного файла functions.php. Часто его применяют абсолютно не по назначению, что может привести к существенным проблемам. Давайте вместе более детально разберемся с этим вопросом.

Уверяю, прочитав эту статью, Вы измените свое отношение к плагинам и перестанете пополнять ваш functions.php очередным сниппетом кода.

Плагины и functions.php

Многие владельцы сайтов на WordPress твердо убеждены, что плагины непременно будут нагружать и тормозить блог. А если просто добавить код в functions.php, то это никак не повлияет на нагрузку. Увы, это не совсем так…

Дело в том, что нагрузку вызывает не конкретно плагин, а его неверно написанный код, который, легко может попасть и в functions.php из очередного руководства.

Давайте посмотрим в чем главные отличия плагина и functions.php.

Принципиальное отличие плагина от файла functions.php — в назначении и порядке выполнения.

Также необоснованно мнение, что код в functions.php выполнится быстрее, чем в плагине. Один и тот-же код в плагине и в functions.php выполнится с одинаковой скоростью и нагрузкой.

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

Если Вы обычный блоггер и далеки от веб-разработки, то при выборе плагина обязательно обращайте внимание на отзывы в репозитории WordPress и на блогах авторов или веб-разработчиков.

Если все еще остались сомнения — сделайте чашечку кофе и обязательно прочтите статью Константина Ковшенина на WP Magazine — «Вся правда о functions.php ». В первой части просто и доступно рассказывается почему не стоит верить в мифы о functions.php.

Плагин как альтернатива файлу functions.php

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

Давайте создадим свой плагин — альтернативу файлу functions.php. Не стоит пугаться, он будет выглядеть один в один как любимый functions.php 🙂 . Все, что потребуется — просто добавить пустой плагин на свой сайт. И затем в него можно вставлять необходимый код, как раньше делали это c functions.php.

Прежде всего нам нужно создать на компьютере файл с названием functionsphp.php и добавить в него следующий код: