WordPress вставить php код на страницу без плагинов
Есть несколько способов добавить PHP-код на страницу WordPress. Среди них: установить плагин позволяющий это делать, редактировать functions.php и включить поддержку [exec]…[/exec], может быть ещё что-то. Но сегодня я расскажу как сделал я.
Недостатки установки плагина: возможная уязвимость, возможные проблемы с совместимости при обновлении WordPress.
Недостатки включения тэгов [exec]…[/exec] для размещения php-кода: пользователи, являющиеся авторами, могут легко использовать эту конструкцию и делать с сайтом что угодно.
Поэтому, если Вам необходимо добавить PHP-код всего на пару страниц своего сайта, рекомендую сделать это следующим образом:
1. Создаём страницу стандартным способом
2. Создаём отдельный шаблон страницы
Узнаём какая постоянная ссылка у только что созданной страницы. В моём случае — https://blog.knasys.ru/ test-php / . Теперь нам нужно создать шаблон, к примеру в Notepad++.
Создаём новый документ, устанавливаем кодировку « UTF-8 (без BOM) «, содержимое копируем из файла « Шаблон страницы (page.php) »

находим в тексте функцию the_content :
Читать полностью »
'); ?>
она получает содержимое страницы отсюда:

Теперь можем вставить свой PHP-код, например, таким образом:
$hash=$_GET['hash']; echo $hash; the_content('Читать полностью »
'); ?>
3. Сохраняем файл и помещаем его на сервер
Так как постоянная ссылка в моём случае — https://blog.knasys.ru/ test-php / , нам нужно сохранить файл под именем page- test-php .php и поместить его на сервер в папку /wp-content/themes/your_theme/ .
4. Пробуем!
Открываем в браузере страницу и передаём ей некий текст в параметре ‘hash’ (в моём случае — https://blog.knasys.ru/ test-php ?hash=Hello world! ). И смотрим результат.

P.S.: А теперь мораль:
Когда пытаетесь вставить PHP-код всегда думайте о безопасности. В нашем случае я сделал огромную дыру в сайте.
Как добавить код в WordPress: все доступные методы

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

- 1 Добавление кода в виджет
- 2 Добавление кода в настройки темы
- 3 Добавление кода с помощью плагинов
- 4 Добавление кода в файл темы или плагина
- 4.1 Статьи по теме:
Добавление кода в виджет
Виджеты в WordPress можно использовать для того, что добавить код на сайт. Для этого подходят виджеты «HTML-код» и «Текст». Благодаря такому способу можно установить какой-либо HTML код в любой области виджетов, предусмотренной активированной темой. И если этот код предусматривает вывод какого-либо элемента, то он будет виден.
Для тех, кто не знает: виджеты находятся в пункте «Внешний вид», подпункте «Виджеты». Нужно лишь переместить мышкой виджет «HTML-код» или «Текст» из области «Доступные виджеты» (слева страницы), в какую либо область справа страницы. Затем в него можно вставить текст и сохранить с помощью соответствующей кнопки.
Если используется виджет «Текст», то код нужно добавлять во вкладку «Текст», а не «Визульно».

Но удобнее, всё-таки, использовать виджет «HTML-код», который специально для этого и предназначен. В нём всего одна вкладка, а также есть подсветка синтаксиса.

Иногда возникает необходимость добавить в виджет PHP код и сделать так, чтобы он работал. В этом случае придётся пользоваться дополнительным плагином, который создаст новый виджет «PHP-код».
Плагин называется PHP Code Widget и ссылка на него ниже.
Добавление кода в настройки темы
Ещё один способ добавить код в WordPress — это внедрить его в настройки дизайна. Подойдёт для добавления своих CSS стилей, а в не которых случаях (в зависимости от темы) и других видов кодов.
Для интеграции перейдите в пункт «Внешний вид», подпункт «Настроить». Вы увидите секции с опциями слева. Откройте «Дополнительные стили».

И вставьте CSS код в поле. Не забудьте сохранить всё кнопкой «Опубликовать».

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

Некоторые темы в своих настройках позволяют добавлять и другие типы кодов в разные области сайта. Например, тема Frontier, которая используется на моём сайте, имеет специальное поле для вставки кода в область сайта head.

Настройки тему могут находиться в пункте «Внешний вид», либо вынесены в отельный пункт. В разных темах это может выглядеть, конечно же, по-разному, и не обязательно так, как у меня на скриншоте. А в некоторых темах этого вообще может и не быть.
Добавление кода с помощью плагинов
Универсальный способ добавить код в WordPress — это использовать плагин. И есть несколько вариантов.
Во-первых, рекомендую простой плагин Head, Footer and Post Injections. После активации перейдите в пункт «Настройки», подпункт «Head and footer». И тут вы увидите возможность добавить любой код в любое место сайта: в шапку, подвал, записи, страницы. Кроме того, есть дополнительные опции, вроде включения добавленного кода только на некоторых устройствах или типах страниц.

Есть, что изучать в этом плагине. Только один недостаток — всё на английском языке. Скачать можно по ссылке ниже.
Ещё один способ добавить код в WordPress, это плагин My Custom Functions. Он решает задачу интеграции PHP функций, и добавляет их так, будто они были написаны в файле темы functions.php. При этом ни обновление темы, ни даже её изменение данную интеграцию не нарушает.
Работу этого плагина я рассматривал на примере добавления в тему функции для реализации чек-бокса соглашения на обработку персональных данных в форме комментариев WordPress.
Скачать плагин можно по ссылке ниже.
После активации плагина, перейдите в пункт «Настройки», подпункт «PHP inserter». Включите применение кода и добавьте свою PHP функцию.

Добавление кода в файл темы или плагина
Вначале я писал о том, что есть правильные и неправильные способы добавить код в WordPress. Как раз таки сделать это непосредственно в файл плагина или темы — является самым неправильным методом, но рабочим. Иногда это бывает единственным способом, и поэтому на практике, всё-таки, используется.
Вся неблагодарность метода в том, что при первом же обновлении продукта внедрённая инъекция исчезнет и её придётся создавать заново. Поэтому нужно иметь копии изменённых файлов и вручную их заменять после обновления, что очень не удобно.
Итак, чтобы добавить код в WordPress прямо в файл, нужно перейти в пункт «Внешний вид», подпункт «Редактор» (если речь о теме) или пункт «Плагины», подпункт «Редактор» (если речь о плагине).
Сначала вы увидите пугающее предупреждение, где нужно нажать на «Я понимаю».

И теперь перед вами откроется редактор. Здесь в списке сверху можно выбрать редактируемый продукт (тему или плагин), в колонке справа выбирается файл, а в самом центре редактор с поддержкой синтаксиса кода.

Кроме этого, добраться до файлов тем и плагинов можно через файловый менеджер или FTP подключение. Плагины хранятся в папке wp-content/plugins, а темы в wp-content/themes. Каждый плагин/тема в отдельной папке.
При редактировании файлов будьте внимательны, делайте резервные копи.
Как интегрировать php код в плагин для wordpress
Первый раз делаю плагин для wordpress. Пока на начальном этапе, но надо уже интегрировать код на страницу как плагин, как это можно сделать? Как подготовить страницу к этому(там только выбор дизайна и прочее). Суть кода определить занятость домена. Вот код, как можно сделать плагином, что нужно писать или добавить? Помимо этой части
Вот сам код на php
function check_domain() < $host = htmlspecialchars(trim($_POST['name'])); $json = file_get_contents('http://ip-api.com/json/' . $host . '?lang=ru'); $array = json_decode($json, TRUE); if (strcasecmp($array['status'], 'fail') == 0) echo "Домен"." ".$host." "."свободен
"; else echo "Домен"." ".$host." "."зарегистрирован
"; > ?>Document Проверка домена на занятость ?>
Отслеживать
задан 17 мая 2021 в 17:40
71 6 6 бронзовых знаков1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Вот полный код плагина с комментариями. Код протестирован.
Домен ' . $host . ' свободен'; > return 'Домен ' . $host . ' зарегистрирован
'; > /** * Domain shortcode. * * @return false|string */ function check_domain_shortcode() < // We have to return string, so wrap html into output buffer functions. ob_start(); ?>Проверка домена на занятость
add_shortcode( 'check_domain', 'check_domain_shortcode' ); /** * Process domain page. * * @param string $content Post content. * * @return mixed|string */ function domain_page( $content ) < if ( has_shortcode( $content, 'check_domain' ) ) < // Do not use 'name' POST var in WordPress. It is reserved. if ( isset( $_POST['domain_name'] ) ) < $domain_name = filter_input( INPUT_POST, 'domain_name', FILTER_SANITIZE_STRING ); // Add the result of checking below the form. return $content . check_domain( $domain_name ); >> return $content; > // Add processing of the content. Priority 0 to work before conversion of shortcodes. add_action( 'the_content', 'domain_page', 0 );Активируйте плагин и добавьте на страницу или в пост шорткод [check_domain] . Шорткод выведет форму, а код по хуку the_content — проверит статус домена и добавит результат ниже формы.
Отслеживать
ответ дан 17 мая 2021 в 18:52
KAGG Design KAGG Design
35.1k 4 4 золотых знака 24 24 серебряных знака 53 53 бронзовых знака
Здравствуйте, а зачем мы создали функцию check_domain_shortcode?
18 мая 2021 в 9:05Эта функция реализует шорткод. Она срабатывает, когда в контенте страницы или поста ядро WordPress встречает [check_domain] . Тогда, для замены этого шорткода при выводе на экран, вызывается check_domain_shortcode . Это стандартный механизм ядра: wp-kama.ru/handbook/codex/shortcodes
18 мая 2021 в 9:15
А такой вопрос. Если я хочу добавить новый функционал в плагин(например черный список), который можно будет редактировать с помощью панели администрирования, для этого мне нужно сначала добавить в php файл массив со списком запрещенных доменов?
18 мая 2021 в 16:40
Вам надо сделать страницу настроек в админке. Сделать можно по-разному. Есть совсем простые рецепты. Есть статьи о том, как правильно: wp-kama.ru/id_3773/api-optsiy-nastroek.html
Выполнение PHP кода в WordPress без плагинов

Функция, позволяющая использовать PHP в постах и на страницах WordPress без установки дополнительных плагинов.
Думаю, что у многих возникали ситуации, когда при написании очередной статьи в блоге возникала острая необходимость в использовании языка программирования PHP. Кто-то для этих целей использует старенький плагин под названием Inline PHP, а кто-то выносит скрипт в отдельный файл и дает на него ссылку ну или просто выводит его на странице блога в iframe. Каждый из этих вариантов по своему хорош и выбирать конечно вам, но для себя я выбрал вариант реализацию поддержки PHP с помощью простой функции, которую необходимо добавить в файл functions.php вашей темы оформления.
Код функции позволяющий выполнять PHP код в постах и на страницах WordPress
/* PHP внутри постов и страниц */
function exec_php($matches) eval(‘ob_start();’.$matches[1].’$inline_execute_output = ob_get_contents();ob_end_clean();’);
return $inline_execute_output;
>
function inline_php($content) $content = preg_replace_callback(‘/\[execs\]((.|\n)*?)\[\/execs\]/’, ‘exec_php’, $content);
$content = preg_replace(‘/\[execs off\]((.|\n)*?)\[\/execs\]/’, ‘$1’, $content);
return $content;
>
add_filter(‘the_content’, ‘inline_php’, 0);Для использования PHP кода в ваших постах вам необходимо разместить его между тегами [execs] [/execs].
Для вывода PHP кода без его выполнения используйте теги [execs off] [/execs]
PHP код можно добавлять в записи только в режиме Текст.

Помните, что использовать данную конструкцию смогут все пользователи обладающие правами на написание постов. В целях безопасности рекомендую в коде функции обязательно заменить шоткод [execs] на любой другой, который будет известен только вам. Путь это будет что-то похожее на [qjwctrwh].
Варианты использования PHP в постах WordPress
Думаю, что самым востребованным будет вывод результатов работы какого-то скрипта на страничке вашего блога. В моей случае так работают все страницы моего блога из раздела Сервисы. При желании, можете сами зайти и посмотреть.
Следующим можно рассмотреть вариант проведения конкурса на блоге, победителем которого будет участник, оставивший 100500-й комментарий к вашей статье. При желании, вы сможете вывести текущее количество комментариев и при достижении заданного количества опубликовать результаты конкурса и поздравить победителя.
Примеры использования функции
Определение IP адреса пользователя
[execs] echo $_SERVER[‘REMOTE_ADDR’]; [/execs]
Количество постов в блоге
[execs] echo wp_count_posts(‘post’)->publish; [/execs]
Количество страниц в блоге
[execs] echo wp_count_posts(‘page’)->publish; [/execs]
Количество комментариев в блоге
[execs] echo wp_count_comments()->approved; [/execs]
Количество рубрик в блоге
[execs] echo wp_count_terms(‘category’, array( ‘hide_empty’ => true )); [/execs]
Количество меток в блоге
[execs] echo wp_count_terms(‘post_tag’, array( ‘hide_empty’ => true )); [/execs]
Если возникнут вопросы, то задавайте их в комментариях. Еще было бы интересно узнать для каких целей вы собираетесь использовать данную функцию.
Присоединяйтесь к нашей группе в Telegram @GeekElectronics
keyboard_arrow_downВыполнение PHP кода в WordPress без плагинов- Автор: source
- Миниатюра:
- Рубрика: WordPressfunctions.php, PHP, WordPress, код —>
- Опубликовано: 04.12.2017
- Обновлено: 26.12.2017
- Комментариев: 2
- Просмотров: 5 211
Дата Бот