Может ли WordPress работать без темы?
WordPress не может работать полностью без темы. Если активная тема отсутствует, WordPress автоматически использует встроенные механизмы для отображения базового контента:
Когда тема не установлена или не активирована, WordPress использует следующие механизмы:
1. Использует базовые функции ядра для вывода контента 2. Применяет минимальные стили по умолчанию 3. Задействует базовый шаблон отображения через классы WP_Query и WP_Post 4. Использует стандартные хуки WordPress для формирования структуры страницы 5. Отображает контент в простейшем формате HTML без дополнительного оформленияВ любом случае, рекомендуется всегда использовать тему для корректной работы сайта, так как темы обеспечивают правильную структуру, стилизацию и функциональность WordPress сайта.

Кажется, для этого есть песня:
"Представь, что нет темы. Это просто, если попробовать. Никакого ада под нами. Над нами только небо..." ;-)
Итак, в этом воображаемом мире:
вы по-прежнему можете получать RSS-ленты с вашего сайта:
example.com/feed/
вы по-прежнему можете входить в админку:
example.com/wp-login.php
вы по-прежнему можете заходить в админку и работать там (почти) как обычно:
example.com/wp-admin/
отложенная публикация записей не будет работать, и вы увидите сообщение Missed schedule.
wp-cron
не будет надежно работать.вы по-прежнему можете обращаться к
/wp-admin/admin-ajax.php
вы можете использовать хуки
template_redirect
иtempate_include
для управления выводом. Попробуйте, например, этот небольшой плагин:<?php /** Название плагина: День-без-темы **/ add_action( 'template_redirect', function() { wp_die( __( "Ура! Сегодня День без темы!" ) ); } );
...
P.S.: Простите за мой пятничный ответ — "Но я не один такой" ;-)

Отличная песня и даже более прекрасная реализация. Джон Леннон гордился бы. +1

Определенно голос за цитату из Imagine :) жаль, что нельзя дать еще один за ответ.

Полностью согласен с @ialocin. К сожалению, могу поставить только один голос за ответ.

Только что наткнулся на отсутствие exit в хуке template redirect, пятничное совпадение ;-) @PieterGoosen

Хахаха, просто подкалываю, видел правку. Но все равно неплохой конец недели. Джон Леннон всегда в почете :-)

Поскольку использование WordPress без темы встречается довольно редко, технические аспекты этого не получают много внимания.
Сначала необходимо понять, что в ядре WordPress существует несколько "конечных точек" (endpoints), обрабатывающих запросы.
- Административная часть имеет свои (и многочисленные) конечные точки, такие как
wp-admin/index.php
. - Фронтенд почти всегда обрабатывается через
index.php
в корневой директории, но обычно это "скрыто" красивыми постоянными ссылками
Если вы посмотрите на последний файл, в нем есть следующая строка:
define('WP_USE_THEMES', true);
Таким образом, обычно WordPress ожидает, что фронтенд всегда будет иметь тему, и настраивает среду выполнения соответствующим образом. Эта константа управляет не так много, только тем, будут ли загружаться шаблоны темы в template-loader.php
.
Обратите внимание, что это не предотвращает загрузку родительских/дочерних тем (если они присутствуют) во время процесса загрузки ядра.
Таким образом, по умолчанию WordPress ожидает, что хотя бы одна тема будет присутствовать, включена и иметь шаблоны для использования в целях отображения фронтенда.
Однако это всего лишь вопрос настроек по умолчанию, и их можно полностью изменить. В таком случае WordPress продолжит полностью функционировать на административной стороне, в то время как на фронтенде все запросы, зависящие от шаблонов темы, перестанут что-либо отображать.
