Статьи

Как разработать плагин для включения PHP-файла в WordPress

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

Чтобы вставить свой код на каждую страницу или пост WordPress, вы можете просто добавить функцию PHP include () в page.php или single.php соответственно, например,

include('mycode.php'); 

Предполагая, что mycode.php находится в папке вашей темы (wp-content / themes / theme-name ), он будет включен и выполнен в этот момент.

Но что, если вам нужно включить файл в определенный пост / страницу или в середине блока контента? Нам нужен плагин WordPress …

Создание плагина

Создайте новый файл с именем php-include.php в папке плагинов (wp-content / plugins) и добавьте заголовок, чтобы он мог быть идентифицирован WordPress:

 

Далее следует наша основная функция PHP_Include (). Он ожидает массив параметров, хотя мы используем только один файл. Если это не передано, файл установлен в значение «по умолчанию»:

 // include PHP file function PHP_Include($params = array()) { extract(shortcode_atts(array( 'file' => 'default' ), $params)); ob_start(); include(get_theme_root() . '/' . get_template() . "/$file.php"); return ob_get_clean(); } 

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

предупреждение: с большой силой …

… Приходит большая ответственность. Этот плагин может быть небольшим, но он позволяет любому исполнять произвольный код. Это не проблема, если вы являетесь единственным редактором своего блога, но вам следует остерегаться других пользователей.

При желании вы можете изменить местоположение оператора включения или разрешить файлы только с определенным шаблоном имени, например «/include/mycode-$file.php». Это должно защитить от пользователей, включая любой файл PHP.

Наконец, мы зарегистрируем нашу функцию как обработчик шорткода:

 // register shortcode add_shortcode('phpinclude', 'PHP_Include'); 

Сохраните файл и активируйте плагин на панели управления WordPress.

Включение файла PHP

Следующий шорткод теперь можно добавить на любую страницу или сообщение:

 [phpinclude file='mycode'] 

Предполагая, что mycode.php существует в папке вашей темы, он будет вставлен в этот момент в контент.

Я надеюсь, что вы найдете это полезным.