Wordpress добавить php файл

Обновлено: 04.07.2024

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

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

Способы подключения файлов в PHP

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

Это выражение включает и выполняет указанный файл. Если файл не найден, появится предупреждение PHP.

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

ВАЖНО: если вы пишете функции, которые зависят от функций в другом файле, тогда убедитесь, что этот файл подключается первым. Если вам нужно добавить набор функций или внешний файл в середине существующей функции, тогда вы можете включить его в нужном месте.

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

Когда файл подгружается с помощью include() , он будет иметь доступ ко всем переменным, которые были определены в текущем скрипте.

Эта конструкция ведет себя так же, как и include() , но если другой файл уже был подключен, он больше не будет подключаться. Т.е., другой скрипт подключается в данном случае только один раз.

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

Зависимое подключение файлов в PHP

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

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

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

Эта конструкция выполняет то же самое, что и require() , но она не будет подключать файл во второй раз, если он уже был подключен.

Рекомендации по функциям подключения в PHP:

  • Конструкция require_once() лучше подходит для больших сайтов, так как на более низком уровне выполняет дополнительную работу, которая влияет на безопасность и производительность.
  • Конструкция include_once() быстрее и считается приемлемой для небольших сайтов
  • Не существует жестких правил, когда использовать рассмотренные конструкции, но вы должны исходить из собственных требований и условий.

Подключение файлов в WordPress

Если вам нужно подключать другие файлы в WordPress, есть другой, более эффективный способ, чем использование include() и require() .

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

Но это не является лучшей практикой в WordPress.

Вот функция, которую лучше использовать в WordPress: get_template_part()

Эта функция является частью API движка и используется специально для повторного использования разделов, шаблонов или кода (кроме блоков для хедера, футера и боковой панели) в вашей теме. Для этого вам нужно просто добавить в нужном шаблоне код вида:

Функция принимает два аргумента:

  • Первый аргумент – это слаг (slug) для шаблона. В приведенном выше примере слаг не используется.
  • Второй аргумент – это имя шаблона. В приведенном выше примере это будет shablon . В результате подключится файл shablon.php , который находится на одном уровне с текущим файлом (в котором происходит подключение)

Придерживаясь примера выше, вы можете подключать другие шаблоны в нужный шаблон, например в footer.php , index.php , single.php , archives.php и т.д.

В WordPress есть функция подключения, которая является другим представлением конструкции require_once() – это функция load_template() .

Я хочу создать пользовательскую страницу для моего блога WordPress, которая будет выполнять мой PHP-код в нем, оставаясь частью общего сайта CSS/theme/design.

PHP-код будет использовать сторонние API (поэтому мне нужно включить другие PHP-файлы)

Как мне это сделать?

N. B. У меня нет конкретной необходимости взаимодействовать с API Wordpress-помимо включения некоторых других PHP-библиотек мне нужно, у меня нет других зависимостей в PHP-коде I хотите включить в WP страницу. Поэтому, очевидно, любое решение, которое не требовало изучения WP API, было бы лучшим.

вам не нужно взаимодействовать с API или использовать плагин.

во-первых, дублировать post.php или page.php в папке темы (в разделе /wp-content/themes/themename/ ).

переименуйте новый файл как templatename.php (где templatename - это то, что вы хотите назвать своим новым шаблоном). Чтобы добавить новый шаблон в список шаблонов, введите следующее в верхней части файла:

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

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

Ваша новая страница будет использовать php-код, определенный в templatename.php

если вы хотите создать свой собственный .php-файл и взаимодействовать с Wordpress без 404 заголовков и сохраняя текущую структуру permalink нет необходимости в файле шаблона для этой страницы 1, я обнаружил, что этот подход работает лучше всего, в вашем .файл php:

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

Я знаю много людей ответили на этот вопрос и у него уже есть принятый ответ, но вот это хороший подход .РНР файл в корне вашего сайта wordpress (или технически в любом месте вашего сайта), который вы можете просматривать и загружать без 404 заголовков!

редактировать

просто быстрое обновление здесь. Есть способ использовать wp-blog-header.php без 404 заголовков, но это требует, чтобы вы добавляли заголовки вручную, что-то вроде этого будет работать в корне вашей установки wordpress:

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

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

это на самом деле просто сделать, просто включив wp-blog-header.php файл с использованием php require() .

теперь в содержании yourfilename.php который, для нашего удобства, находится в корневом каталоге WP:

там у вас есть: сгенерированные модели обмена для любого поста, используя фактическое изображение, выдержку и название поста!

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

редактировать 2017: обратите внимание, что этот подход теперь устарел

создание страницы шаблона является правильным ответом, для этого просто добавьте это на страницу, созданную внутри папки темы

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

любой ответ не охватывает, если вам нужно добавить страницу PHP вне темы WordPress. Это путь.

вам нужно включить wp-load.РНР.

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

вы захотите взглянуть на API плагинов WordPress. Это объясняет, как" зацепить "и" фильтровать " в разные части механики WordPress, поэтому вы можете выполнять пользовательский PHP-код практически в любом месте в любой момент времени. Это подключение, фильтрация и создание пользовательского кода могут иметь место в ваших функциях.php-файл в любой из ваших тем. Счастливое кодирование:)

широко принятый ответ Адама Хопкинсона не является полностью автоматизированным методом создания страницы! это требует от пользователя вручную создать страницу в задней части WordPress (в wp-admin dash). Проблема в том, что хороший плагин должен иметь полностью автоматизированную настройку, он не должен требовать от клиентов вручную создавать страницы.

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

честно говоря, я удивлен, что этот подход еще не был упомянут в качестве ответа на этот популярный вопрос (он был опубликован в течение 7 лет).

Создайте страницу, назовите ее my-page.php и сохраните его в каталоге тем. Теперь отредактируйте этот php файл и напишите следующую строку в верхней части страницы

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

начало нравится <?php require_once("header.php");?> или

каким образом вы интегрируете свой header и footer для поддержания макета.

Так как это моя страница, вам нужно создать страницу из админ панели WordPress. Перейдите в Admin => Pages => Add New

добавьте заголовок страницы, в зависимости от того, как вы закодировали пользовательскую страницу, вы также можете добавить тело страницы (описание). Вы можете полностью пропустить описание, если оно написано на пользовательской странице php.

справа выберите шаблон. Выберите мою пользовательскую страницу из раскрывающегося списка. Все готово! Перейдите в slug (permalink), созданный [wordpress][1], и посмотрите страницу.

Если вы не хотите иметь дело с WP API, то ответ Адама действительно лучший.

Если бы Вы были готовы иметь дело с API, я бы предложил подключить крюк "шаблон-перенаправление", который позволит вам указать конкретный URL или страницу на произвольный PHP-файл, все еще имея доступ к WP.

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

переименуйте новый файл как templatename.php (где templatename - это то, что вы хотите назвать своим новым шаблоном). Чтобы добавить новый шаблон в список шаблонов, введите следующее в верхней части файла:

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

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

Я хочу создать пользовательскую страницу для моего блога WordPress, которая будет выполнять в нем мой PHP-код, оставаясь при этом частью общего CSS / theme / design сайта.

Код PHP будет использовать сторонние API (поэтому мне нужно включить другие файлы PHP).

Как мне это сделать?

NB. У меня нет особой необходимости взаимодействовать с API WordPress - кроме включения некоторых других библиотек PHP, мне нужно, чтобы у меня не было других зависимостей в коде PHP, который я хочу включить в страницу WordPress. Очевидно, что любое решение, не требующее изучения WordPress API, будет лучшим.

Вам не нужно взаимодействовать с API или использовать плагин.

Сначала дублируйте post.php или page.php в папке вашей темы (под /wp-content/themes/themename/ ).

Переименуйте новый файл как templatename.php (где templatename - это то, что вы хотите назвать новым шаблоном). Чтобы добавить новый шаблон в список доступных шаблонов, введите следующее в верхней части нового файла:

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

Затем создайте новую страницу в своем блоге WordPress, и на экране редактирования страницы вы увидите раскрывающийся список « Шаблон» в виджете « Атрибуты» справа. Выберите новый шаблон и опубликуйте страницу.

Ваша новая страница будет использовать код PHP, определенный в templatename.php

Опция шаблона не была доступна, пока я не создал файл с комментарием. Затем появилась опция шаблона. Хорошо - я собирался использовать шорткоды, но это намного проще. Есть ли недостаток использования плагина для публикации php? @DamianGreen вопрос не задает полностью автоматизированный способ, и фактически показывает предпочтение избегать WP API Этот ответ кажется неправильным, потому что он не использует повторно существующие элементы темы, а копирует их (пункт 2). Если тема предоставлена ​​третьей стороной, она может получать обновления темы, которые не будут каскадно передаваться в пользовательский шаблон. Кроме того, это усложняет изменение внешнего вида вашего сайта, изменение темы требует перестройки пользовательской страницы. Разве плагин не будет лучше по этим двум причинам? Как я читаю вопрос, ОП желает добавить дополнительные функциональные возможности, а не дополнительные элементы темы «Использование сторонних API»

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

Я обнаружил, что этот подход работает лучше всего, в вашем файле .php:

После этого вы можете просто выполнять любые функции WordPress. Кроме того, это предполагает, что ваш файл .php находится в корне вашего сайта WordPress, где находится ваш wp-config.php файл.

Для меня это бесценное открытие, так как я использовал require_once(dirname(__FILE__) . '/wp-blog-header.php'); его долгое время, поскольку WordPress даже говорит вам, что это подход, который вы должны использовать для интеграции функций WordPress, за исключением того, что он вызывает 404 заголовка, что странно, что они хотели бы вам использовать этот подход. Интеграция WordPress с вашим сайтом

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

Обновление: есть способ использовать wp-blog-header.php без 404 заголовков, но для этого необходимо добавить заголовки вручную. Примерно так будет работать в корне вашей установки WordPress:

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

php код в wordpress

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

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

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

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

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

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

  • Небольшое уточнение, которое является очень важным моментом для правильного отображения и вывода php кода в ваших записях на сайте!
  • Еще одно предупреждение для начинающих вебмастеров!

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

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

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

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

пункт меню плагина Exec-PHP

пункт меню плагина Exec-PHP

Нажмите на нее и Вы попадете в опции плагина Exec-PHP:

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

опция Disable WYSIWYG Conversion Warning

опция Disable WYSIWYG Conversion Warning

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

Читайте также: