Я хочу создать пользовательскую страницу для моего блога 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 и взаимодействовать с 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:Просто чтобы проинформировать вас об этом, немного меньше кода, необходимого для этого подхода, но вам решать, какой из них вы используете.
источник
wp-activate.php
должен отключать заголовок 404, устанавливая$wp_query->is_404 = false
при активации новые мультисайты, использующиесяrequire( dirname( __FILE__ ) . '/wp-blog-header.php' );
вверху этой страницы.wp-blog-header.php
подход, определенный на codex.wordpress.org/Integrating_WordPress_with_Your_Website, а затем посмотрите заголовок 404 в инструментах инспектора браузера.Если вы похожи на меня, иногда вы хотите иметь возможность ссылаться на функции WordPress на странице, которой нет в CMS. Таким образом, он остается специфичным для бэкэнда и не может быть случайно удален клиентом.
Это на самом деле просто сделать, просто включив
wp-blog-header.php
файл с помощью PHPrequire()
.Вот пример, который использует строку запроса для генерирования данных Open Graph (OG) Facebook для любого сообщения.
Возьмем пример ссылки, например,
http://example.com/yourfilename.php?1
где1
находится идентификатор сообщения, для которого мы хотим сгенерировать данные OG:Теперь в содержимом
yourfilename.php
которого, для нашего удобства, находится в корневом каталоге WordPress:Там у вас есть: сгенерированные модели обмена для любого поста, используя реальное изображение поста, отрывок и заголовок!
Мы могли бы создать специальный шаблон и отредактировать структуру постоянных ссылок, чтобы сделать это, но так как она нужна только для одной страницы и поскольку мы не хотим, чтобы клиент удалил ее из CMS, это казалось более чистым вариантом.
РЕДАКТИРОВАТЬ 2017: Обратите внимание, что этот подход устарел
Для установки WordPress от 2016+ см. Как добавить страницу PHP в WordPress? дополнительные параметры для включения перед выводом данных вашей страницы в браузер.
источник
Создание страницы шаблона является правильным ответом. Для этого просто добавьте это на страницу, которую вы создали в папке темы:
Для запуска этого кода вам нужно выбрать «mytemplate» в качестве шаблона страницы из серверной части.
Пожалуйста, смотрите эту ссылку для получения правильных деталей https://developer.wordpress.org/themes/template-files-section/page-template-files/ .
источник
Ни один ответ не охватывает, если вам нужно добавить страницу PHP за пределами темы WordPress. Это способ.
Вам нужно включить wp-load.php.
Затем вы можете использовать любую функцию WordPress на этой странице.
источник
require_once('wp-load.php');
правильноСоздайте страницу с именем my-page.php и сохраните ее в каталоге вашей темы. Теперь отредактируйте этот php-файл и напишите следующую строку вверху страницы.
Напишите ваш PHP-код в строке определения пользовательской страницы, вы можете вызвать другой шаблон WP, функции внутри этого файла.
Начните как
<?php require_once("header.php");?>
ИЛИкаким бы способом вы не интегрировали верхний и нижний колонтитулы, чтобы макет был согласованным.
Так как это моя страница, вам нужно создать страницу из панели администратора WordPress. Зайдите в Admin => Страницы => Добавить новый
Добавьте заголовок страницы, в зависимости от того, как вы закодировали пользовательскую страницу, вы также можете добавить тело страницы (описание). Вы можете полностью пропустить описание, если оно написано на пользовательской странице php.
Справа выберите Шаблон. Выберите My Custom Page из выпадающего списка. У вас все настроено! Перейдите на слаг (постоянная ссылка), созданный [wordpress] [1], и посмотрите страницу.
источник
Лучший способ добавить страницы PHP в WordPress
Page Template
вchild-theme
папку.Как создать
Page Template
в WordPress.Создайте файл с именем
template-custom.php
и вставьте его/wp-content/theme/my-theme/
.Больше подробностей
источник
Вы захотите взглянуть на API плагинов WordPress.
Это объясняет, как «подключать» и «фильтровать» различные части механики WordPress, чтобы вы могли выполнять собственный PHP-код практически в любом месте в любое время. Это перехватывание, фильтрация и создание собственного кода могут происходить в вашем файле functions.php в любой из ваших тем. Удачного кодирования :)
источник
Если вы не хотите иметь дело с API WordPress, тогда ответ Адама действительно лучший.
Если вы готовы иметь дело с API, я бы предложил подключить хук «template-redirect», который позволит вам указывать определенный URL или страницу на произвольный файл PHP, при этом все еще имея доступ к WordPress.
источник
Широко принятый ответ Адама Хопкинсона - не полностью автоматизированный метод создания страницы! Это требует, чтобы пользователь вручную создал страницу в серверной части WordPress (в тире wp-admin). Проблема в том, что хороший плагин должен иметь полностью автоматизированную настройку. Он не должен требовать от клиентов создания страниц вручную.
Кроме того, некоторые из других широко распространенных ответов здесь включают создание статической страницы вне WordPress, которая затем включает только некоторые функциональные возможности WordPress для достижения тематического верхнего и нижнего колонтитула. Хотя этот метод может работать в некоторых случаях, это может усложнить интеграцию этих страниц с WordPress без включения всех его функций.
Я думаю, что лучшим, полностью автоматизированным подходом было бы создание страницы с использованием
wp_insert_post
и размещение ее в базе данных. Пример и отличная дискуссия об этом и о том, как предотвратить случайное удаление страницы пользователем, можно найти здесь: wordpress-automatic-creation-pageЧестно говоря, я удивлен, что этот подход еще не упоминался как ответ на этот популярный вопрос (он был опубликован в течение 7 лет).
источник
Попробуй это:
источник
Помимо создания пользовательского файла шаблона и назначения этого шаблона странице (как в примере в принятом ответе), есть также способ соглашения об именовании шаблонов, который WordPress использует для загрузки шаблонов (иерархия шаблонов).
Создайте новую страницу и используйте фрагмент этой страницы для имени файла шаблона (создайте файл шаблона с именем page- {slug} .php ). WordPress автоматически загрузит шаблон, который соответствует этому правилу.
источник
Просто создайте
page-mytitle.php
файл в папке текущей темы, а из Dashboard откройте страницу «mytitle» .Затем, когда вы вызываете страницу по URL, вы увидите страницу-mytitle.php. Вы должны добавить HTML, CSS, JavaScript, wp-loop и т. Д. В этот файл PHP (
page-mytitle.php
).источник
источник
источник
Вы можете назвать свой файл "newpage.php" - поместите его в каталог вашей темы в
wp-content
. Вы можете сделать его шаблоном страницы (см. Http://codex.wordpress.org/Pages ... ) Или включить его в один из файлов PHP вашей темы, например header.php или single.php.Более того, создайте дочернюю тему и поместите ее туда, чтобы оставить код своей темы в покое, и его будет проще обновлять.
http://codex.wordpress.org/Pages#Creating_Your_Own_Page_Templates
источник
Вы также можете напрямую использовать страницу PHP, например, создать страницу PHP и работать с полным путем.
Например, http: //localhost/path/filename.php
источник