как вставить php код в страницу wordpress
Исполняемый php код в записях WordPress
Сегодня я хочу рассказать о том, как вставить исполняемый php-код в записи и страницы сайта на WordPress. Делать мы это будем опять без использования плагина, а поможет нам в этом плагин! =) Как бы парадоксально это не звучало. На самом деле мы просто подсмотрим как реализовать необходимый нам функционал в плагине Inline PHP (дословно – встроенный в строки php). Заодно возьмем на вооружение этот прием – использования кода из плагинов для реализации задач без использования плагина. Надеюсь, заковыристое вступление не отпугнуло вас. Приступим!
Итак, перед нами стоит вопрос: “Как вставить php код в статью WordPress?”. Но вставить не в качестве содержимого статьи, а в качестве исполняемого кода, который выведет результат своей работы в определенное место статьи.
Например, для поощрения комментаторов вы делаете материальные вознаграждения за каждый сотый комментарий. Но, никто не видит сколько у вас этих комментариев на данный момент и действительно ли вы платите именно за сотый, а не за сто третий комментарий, сделанный вашим другом.
Вообщем, для большей прозрачности подобного рода мероприятий было б хорошо, чтобы в статье, в которой описываются правила получения данного вознаграждения, выводилось текущее число комментариев на блоге. Естественно, значение этого счетчика должно увеличиваться при добавлении новых сообщений. Вот в таком случае и удобно использовать php код внутри статьи (страницы), который будет восприниматься не как текст, а именно как код к исполнению, и результат своей работы будет выводиться в статью.
Это всего лишь один из примеров, для реализации которого нам понадобится встроенный в записи php код. В желании сделать статьи своего блога оригинальными вы, наверняка, придумаете массу других “фишек”. Вот, например, у меня есть статья “Случайный комментатор”, часть содержимого которой формируется динамически.
Кстати, статьи с внедрением кода и динамически формируемых элементов в некоторых случаях затрудняют “копипаст” (copy and paste; копирование и вставку – воровство контента) или делают его невозможным.
Ближе к делу – нужно вставить php код в статью. Нахожу достаточно популярный плагин, который даёт такой функционал – Inline PHP. Поскольку я стараюсь использовать плагины по минимуму, то не устанавливаю этот плагин, а изучаю его код и беру оттуда то, что нужно. Вношу некоторые изменения и вуаля!
Исполняемый php код в записях WordPress
Бывают ситуации, когда очень удобно использовать весь потенциал языка программирования PHP в тексте при написании статей. Речь идет о статьях для WordPress.
Все кто пробовал написать какой либо php код в посте, в надежде что он сработает, знают, что WordPress воспринимает такой код как простой текст. Однако иногда бывает удобно запустить, например, какой-нибудь цикл вывода прямо в тексте при написании статьи, ведь контент такой статьи будет обновляться динамически. Другим примером может служить возможность вызывать готовые функции в посте, в случае необходимости или, например, вставить какой-нибудь php файл в текст поста по средствам php функции require():
В общем, здесь фантазия безгранична и правда в том, что невозможность использования php в тексте статьи в некоторых случаях может стать настоящей проблемой. Как-то давно я столкнулся с такой проблемой, решил её взяв и немного переделав код из какого-то плагина (сейчас уже не вспомню название).
Итак, чтобы реализовать возможность вставлять исполняемые PHP скрипты в текст статьи / поста или статической страницы, нужно добавить в уже, наверное, до боли знакомый нам файл темы functions.php следующий код:
После того, как код добавлен станет возможным использовать в статьях конструкцию такого вида:
Чтобы отключить выполнение кода, можно использовать следующую конструкцию. Она выведет просто код, как если бы мы вставили php код как текст.
Важно о защите
Нужно помнить, что этой возможностью может воспользоваться кто угодно, а это огромная дыра в защите, потому что если у кого-либо есть доступ к написанию статей, он легко может сделать с сайтом все что захочет.
Получите много друзей на страницу ВК для того, чтобы сделать ее максимально популярной в сети. Выводите свой аккаунт в топ поиска Контакта с недорогими услугами от представленного сайта. Здесь Вам будут доступны такие ресурсы, как: подписчики в группу, лайки, репосты, просмотры записей и т. д. Успейте сделать максимально выгодную покупку уже сейчас.
🌐 Как добавить PHP-код в запись или страницу WordPress
Причины добавить PHP-код в запись или страницу WordPress
По умолчанию WordPress не позволяет запускать PHP-код в сообщениях или на страницах.
Рекомендуемый способ добавления функций PHP – изменение дочерней темы или создание собственных шаблонов страниц.
Несмотря на это, бывают случаи, когда вы можете захотеть добавить определенные функции PHP к отдельному сообщению или странице.
В этих случаях вы можете переопределить правило, используя плагины виджетов кода WordPress.
Следующее руководство покажем вам процесс использования плагина Insert PHP Code Snippet для добавления PHP-кода непосредственно в сообщение или страницу WordPress.
Как добавить PHP-код в сообщение или страницу WordPress с помощью плагина
Прежде чем углубиться в руководство, убедитесь, что вы установили и активировали плагин Insert PHP Code Snippet.
Если процесс прошел успешно, на экране появится подтверждающее сообщение и новая функция.
Для будущего использования убедитесь, что все функции PHP, которые вы хотите использовать, активны, проверив раздел «Action».
Активные фрагменты кода будут иметь зеленый символ паузы, а рядом с неактивными фрагментами будет зеленая галочка.
Как добавить код в WordPress: все доступные методы
Необходимость добавить код на сайт возникает часто. Это может быть код статистики, скрипта какого-либо сервиса, новой функции сайта, нового стиля и многое другое.
Для того, чтобы добавить код в WordPress существует несколько удобных, правильных и неудобных, неправильных способов. В этой статье я расскажу вам про все эти способы. И все они могут пригодиться на практике.
Добавление кода в виджет
Виджеты в WordPress можно использовать для того, что добавить код на сайт. Для этого подходят виджеты «HTML-код» и «Текст». Благодаря такому способу можно установить какой-либо HTML код в любой области виджетов, предусмотренной активированной темой. И если этот код предусматривает вывод какого-либо элемента, то он будет виден.
Для тех, кто не знает: виджеты находятся в пункте «Внешний вид», подпункте «Виджеты». Нужно лишь переместить мышкой виджет «HTML-код» или «Текст» из области «Доступные виджеты» (слева страницы), в какую либо область справа страницы. Затем в него можно вставить текст и сохранить с помощью соответствующей кнопки.
Если используется виджет «Текст», то код нужно добавлять во вкладку «Текст», а не «Визульно».
Добавлять код в виджет «Текст» нужно во вкладку «Текст».
Но удобнее, всё-таки, использовать виджет «HTML-код», который специально для этого и предназначен. В нём всего одна вкладка, а также есть подсветка синтаксиса.
В виджете «HTML-код» есть подсветка синтаксиса.
Иногда возникает необходимость добавить в виджет PHP код и сделать так, чтобы он работал. В этом случае придётся пользоваться дополнительным плагином, который создаст новый виджет «PHP-код».
Плагин называется PHP Code Widget и ссылка на него ниже.
Добавление кода в настройки темы
Ещё один способ добавить код в WordPress — это внедрить его в настройки дизайна. Подойдёт для добавления своих CSS стилей, а в не которых случаях (в зависимости от темы) и других видов кодов.
Для интеграции перейдите в пункт «Внешний вид», подпункт «Настроить». Вы увидите секции с опциями слева. Откройте «Дополнительные стили».
Откройте секцию «Дополнительные стили».
И вставьте CSS код в поле. Не забудьте сохранить всё кнопкой «Опубликовать».
Вставьте свой код стиля в поле.
А если нажать на кнопку с иконку в виде шестерёнки, то можно будет ещё и просто сохранить изменения, без публикации, и даже запланировать их публикацию на указный день и время.
Сохраните изменения или выберите другое действие.
Некоторые темы в своих настройках позволяют добавлять и другие типы кодов в разные области сайта. Например, тема Frontier, которая используется на моём сайте, имеет специальное поле для вставки кода в область сайта head.
Код можно добавить в настройках некоторых тем.
Настройки тему могут находиться в пункте «Внешний вид», либо вынесены в отельный пункт. В разных темах это может выглядеть, конечно же, по-разному, и не обязательно так, как у меня на скриншоте. А в некоторых темах этого вообще может и не быть.
Добавление кода с помощью плагинов
Универсальный способ добавить код в WordPress — это использовать плагин. И есть несколько вариантов.
Во-первых, рекомендую простой плагин Head, Footer and Post Injections. После активации перейдите в пункт «Настройки», подпункт «Head and footer». И тут вы увидите возможность добавить любой код в любое место сайта: в шапку, подвал, записи, страницы. Кроме того, есть дополнительные опции, вроде включения добавленного кода только на некоторых устройствах или типах страниц.
Интерфейс плагина Плагин Head, Footer and Post Injections.
Есть, что изучать в этом плагине. Только один недостаток — всё на английском языке. Скачать можно по ссылке ниже.
Ещё один способ добавить код в WordPress, это плагин My Custom Functions. Он решает задачу интеграции PHP функций, и добавляет их так, будто они были написаны в файле темы functions.php. При этом ни обновление темы, ни даже её изменение данную интеграцию не нарушает.
Работу этого плагина я рассматривал на примере добавления в тему функции для реализации чек-бокса соглашения на обработку персональных данных в форме комментариев WordPress.
Скачать плагин можно по ссылке ниже.
После активации плагина, перейдите в пункт «Настройки», подпункт «PHP inserter». Включите применение кода и добавьте свою PHP функцию.
Добавление PHP функции в My Custom Functions.
Добавление кода в файл темы или плагина
Вначале я писал о том, что есть правильные и неправильные способы добавить код в WordPress. Как раз таки сделать это непосредственно в файл плагина или темы — является самым неправильным методом, но рабочим. Иногда это бывает единственным способом, и поэтому на практике, всё-таки, используется.
Вся неблагодарность метода в том, что при первом же обновлении продукта внедрённая инъекция исчезнет и её придётся создавать заново. Поэтому нужно иметь копии изменённых файлов и вручную их заменять после обновления, что очень не удобно.
Итак, чтобы добавить код в WordPress прямо в файл, нужно перейти в пункт «Внешний вид», подпункт «Редактор» (если речь о теме) или пункт «Плагины», подпункт «Редактор» (если речь о плагине).
Сначала вы увидите пугающее предупреждение, где нужно нажать на «Я понимаю».
Чтобы начать редактировать файл, нажмите «Я понимаю».
И теперь перед вами откроется редактор. Здесь в списке сверху можно выбрать редактируемый продукт (тему или плагин), в колонке справа выбирается файл, а в самом центре редактор с поддержкой синтаксиса кода.
Добавление кода в файл темы/плагина.
Кроме этого, добраться до файлов тем и плагинов можно через файловый менеджер или FTP подключение. Плагины хранятся в папке wp-content/plugins, а темы в wp-content/themes. Каждый плагин/тема в отдельной папке.
При редактировании файлов будьте внимательны, делайте резервные копи.
Вставка PHP кода на страницу
В WordPress заложена функция на исполнение HTML кодов, вставленных в статические или постовые страницы, а также через виджет « Текст «. Кроме этого он умеет исправлять некорректный HTML код.
Но как сделать выполнение PHP кода на страницах своего блога тем, кто не знаком с тонкостями PHP и не сможет без этих знаний правильно вставить php код в пост или страницу?
Благодаря гибкости WP, проблему можно решить установкой расширения Exec-PHP. Благодаря этому плагину, ваш php код, вставленный в страницу или в запись блога в HTML редакторе, будет исполняться. Кроме этого плагин в силах выполнить php код в текстовых виджетах. Тем, кому необходимо установить php код в сайдбар или в футер блога, подойдет более легковесный плагин PHP Code Widget.
Установка и настройка Exec-PHP.
Если в настройках плагина Параметры → Exec—PHP вы не снимите галку, стоящую по умолчанию у « Выполнение PHP кода в текстовых виджетах «, то код будет выполняться и в виджете вордпресса « Текст «.
Далее перейдите в Параметры → Написание и снимите галку у « WordPress должен исправлять некорректный HTML код автоматически «.
Это все. Ваш php код будет выполняться и в виджете « Текст «, и в странице или записи блога, куда-бы вы его не вставили.
Похожее
22 комментария: Вставка PHP кода на страницу
А как плагин в плане безопасности?(Exec-PHP)
Еще один плагин (PHP Code for posts) что думаете?
А как то же самое сделать без плагина?
Здравствуйте. А может ли плагин запретить выполнение скрипта на отдельной странице или посте, если скрипт добавляется другим плагином на все страницы и посты автоматически? То есть мне нужно, чтобы ранее установленный плагин выполнялся выборочно, на указанных мною страницах. В самом плагине таких настроек не предусмотрено. Спасибо.
Не знаю, если честно. Наверное нет.
и что этот плагин даёт? лишнее это всё)))
Чайнику сложно.»пойду» учиться вставлять.Спасибо.
А что тут сложного? Установите плагин и вставляйте :-).
Все заработало, но PHP код не выполняется )))). Если это код рекламы, блок которой вы совсем недавно создали, то в некоторых случаях он будет отображаться только через некоторое время. Надо немного подождать.
У меня еще как-то подобная неисправность исправилась простой переустановкой кода в виджет.
Здравствуйте! Последнее время у меня проблемы со входом в админку WordPress, — уже дважды подряд пришлось сменить пароль, потому что, форма входа не принимает правильный пароль, показывает ошибку, а при попытке сбросить пароль по предоставленной службой поддержки ссылке говорит, что ключ неверен. Консультанты хостинга помогают успешно,но я же не могу каждый раз при желании войти в админ-панель обращаться в службу поддержки и изменять пароль. Если кто-то может подсказать что-либо, буду очень благодарна (только мне как чайнику нужно разжевать и в рот положить). Будьте добры!
А еще я попыталась перейти по ссылке в вышеприведенной статье «тут» (чтобы скачать последнюю версию плагина), но появилось предупреждение, что плагин 2 года не обновлялся и, возможно, несовместим с последними версиями WP. Подскажите пожалуйста, если я все-таки установлю плагин Exec-PHP, чем это чревато для моего сайта?
Всем спасибо за внимание и терпение!
Здравствуйте Елена!
Не надо каждый раз обращаться в службу поддержки. Под окошком ввода логина и пароля есть ссылка — «Забыли пароль?». Перейдите по ней, в новом окне введете Email администратота и получите на почту новый пароль.
Перед вводом пароля попробуйте набрать его в блокноте, затем скопировать и вставить в окно ввода пароля. Мне помогает такой способ при ошибке авторизации.
При входе в админку поставьте галочку у «Запомнить меня» чтобы сохранить пароль и не вводить его каждый раз.
Благодарю Вас за подсказку насчет набора пароля в блокноте.
А что нужно сделать, чтобы в админ-панель можно было зайти прямо со своего сайта? У меня раньше такая возможность была (плохо помню, но, кажется, открывалась командная строка на странице сайта, где присутствовала вкладка WordPress, а теперь это куда-то исчезло). Спасибо.
Спасибо, Роман, Вам огромное! На самом деле разжевали и в рот положили. Все понятно и замечательно получается. Я прямо-таки счастлива!
А на безопасности это никак не скажется? Прямо-таки php код может и не нужен. Хочу сделать примитивное «Здравствуйте «логин», хорошего Вам настроения». И вот сейчас понимаю, что с помощью этого плагина видимо получится так сделать. Но только ради этого не хочется целый плагин ставить.