Создание страницы через FTP
-
Немного необычная стоит постановка задачи.
Необходимо создать страницу в папке текущей темы, к примеру с именем test.php
И она была доступна в браузере по адресу: sait.ru/wp-content/themes/name-tema/test.php, так чтоб внешний вид страницы был стандартный «Базовый шаблон» (page.php)Для создания этой видимой страницы в браузере, желательно без захода в админку и добавления контента этой страницы в БД.
-
И что мешает?
Внешний вид не могу оформить, как у этой темы.
Контент страницы видно пока, я не пытаюсь присоединить get_header и get_footer<?php get_header(); ?> <div>Текст тестовой страницы</div> <?php get_footer(); ?>
Контент страницы видно пока, я не пытаюсь присоединить get_header и get_footer
А с чего что-то должно быть видно, если вы обращаетесь к файлу в обход движка ВП?
Это я понял в обход CMS получается, как прописать и где, чтоб можно было использовать внешний вид стандартной страницы? Дописываем, я так понимаю в functions.php
откуда ваш test.php узнает о functions.php и что с ним нужно делать?
Нет, пишите все внутри своего файла, используя только чистый РНРСкопируйте тогда не php, а html с рабочей страницы.
Что писать-то в test.php я поэтому и спрашиваю здесь…
1. Хотя бы шапку увидеть, так результат чистая страница
Щас в коде test.php:<? include('header.php'); ?> <div>Текст тестовой страницы</div>
2. Или вместо 1 строки, беру весь код header.php и вставляю, тоже самое…
3. Так тоже нет результата:
<?php /** * The template for displaying all pages. * * @package Betheme * @author Muffin group * @link https://muffingroup.com */ get_header(); ?> <div>Текст на тестовой странице</div>
Скопируйте html с рабочей страницы. — Я так понял исходный код страницы в браузере, это уже не интересно, так может любой.
Друзья, я не же прошу, чтоб моя страница влазила в БД, просто нужна оболочка стандартной страницы вокруг моего контента и все. Помогите кодом
исходный код страницы в браузере, это уже не интересно, так может любой.
Нормальные герои всегда идут в обход? -)))
Лучше использовать штатные механизмы
Post by Email
или REST API или XML-RPCесть мобильные приложения и для десктопа
см https://ru.wordpress.org/support/article/weblog-client/И она была доступна в браузере по адресу: sait.ru/wp-content/themes/name-tema/test.php,
Это абсолютно неправильно. Всё должно ходить через движок. Создается именованный шаблон страницы, затем создается страница с этим шаблоном. Адрес страницы «выдает» движок, по нему страницу и надо открывать.
Если очень хочется сделать неправильно, то можно попробовать в phpшнике (рука не поднимается назвать это шаблоном) перед get_header() подключить движок как-то так:
require_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-load.php' );
Юрий, я уже хотел вам лично писать (помогали мне ранее), чтоб тему посмотрели…
wp-load.php — Это в коде сработало, появилась шапка, только выше идет на сайте главное меню, как его добавить и футер?
Скажите, а первоначальная цель всего этого мазохизма какая?
выше идет на сайте главное меню, как его добавить
Так же, как оно выводится в шаблонах. Мне отсюда не видно 🙂
и футер?
Так же, как и в шаблонах:
<?php get_footer(); ?>
Добрый день!
Если я правильно понял, вы хотите создать произвольный адрес и подгрузить по этому адресу произвольный шаблон. Это возможно, но нужно делать «с другого конца». Не движок подключать к файлу, а файл к движку.
Сначала нужно зарегистрировать новый адрес URL с помощью функции
add_rewrite_endpoint()
, чтобы движок его обрабатывал. Вот документация. Для регистрации адреса в файле functions.php (а лучше в отдельном плагине) пишем нечто наподобие этого:function add_mypage_endpoint(){ add_rewrite_endpoint( 'mypage', EP_ROOT ); } add_action( 'init', 'add_mypage_endpoint' );
Здесь мы задаём новый ярлык (
/mypage/
) который будет добавляться к корню сайта (EP_ROOT). Получитсяsite.ru/mypage/
. После этого нужно обязательно обновить ЧПУ сайта, чтобы ссылка начала открываться. Обычно это делается просто в админке, но при ваших условиях придётся делать программно, вызывая функцию flush_rewrite_rules.В результате движок сможет обрабатывать этот новый адрес, не вываливаясь в ошибку 404. По умолчанию, эта новая ссылка открывает не что иное, как главную страницу. Поэтому открыв её, вы увидите шаблон
index.php
илиfront-page.php
. Чтобы подтянуть другой шаблон, нужно в начале шаблона главной страницы сделать проверку, что-то типа:// Проверяем, содержит ли запрашиваемый адрес «добавочную» часть '/mypage/' if( isset($wp_query->query['mypage']) && $wp_query->is_main_query() ) { // Если содержит, ищем в папке с темой шаблон 'mypage.php' и подгружаем его if ( $mypage_custom_template = locate_template('mypage.php') ) { load_template( $mypage_custom_template ); } } else { // Выводим обычный шаблон главной страницы. }
Таким образом при открытии адреса /mypage/ будет подгружаться шаблон mypage.php. При желании можно сразу вывести стандартный шаблон страницы или любой другой.
Важно понимать, что все запросы к сайту должны обрабатываться движком. Прямое обращение к php-файлам внутри папок не должно происходить вообще.
Успехов!
- Тема «Создание страницы через FTP» закрыта для новых ответов.