WordPress работает без темы?

17

WordPress работает без темы? Если так, то как это работает? Пожалуйста, объясните вкратце.

Если WordPress отображает контент без темы, что контролирует вывод?

chsuthar
источник
1
Я думаю, что это должно показать пустую страницу, если нет темы в папке темы.
Роберт Хюэ,
3
Насколько вы понимаете, вам нужна тема для работы Worpdress. Чего вы пытаетесь достичь т.е. почему ты задаешь этот вопрос?
Стери
3
Нет, вам не нужна тема для работы WordPress. Тема в основном для отображения контента, и если это не ваше требование (может быть, для специального проекта), тогда WordPres будет работать нормально, кроме wp-cron. Для этого вы можете использовать внешний cron. Также ответ ниже действительно суммирует это.
Роберт Хюэ,
Делай то, что я сделал, и используй концепцию, описанную здесь , а затем построй свою собственную.
eyoung100

Ответы:

29

Я думаю, что есть песня для этого:

"Представь, что там нет темы . Легко, если ты попробуешь. Никакого ада под нами. Над нами только небо ..." ;-)

Итак, в этом воображаемом сне:

  • вы все еще можете получить RSS-каналы с вашего сайта:

    example.com/feed/
  • Вы все еще можете войти в свой бэкэнд:

    example.com/wp-login.php
  • вы все равно можете получить доступ к бэкэнду и работать там (почти) как обычно:

    example.com/wp-admin/
  • планирование сообщений не будет работать, поэтому вы получите сообщение о пропущенном расписании .

  • wp-cron не будет надежным.

  • вы все еще можете получить доступ /wp-admin/admin-ajax.php

  • Вы можете использовать template_redirectи tempate_includeкрючки для управления выводом. Попробуйте, например, этот крошечный плагин:

    <?php
    /** Plugin Name: No-Theme-Day **/
    add_action( 'template_redirect', 
        function()
        { 
            wp_die( __( "Jibby! It's the No-Theme-Day today!" ) ); 
        } 
    );
  • ...

ps: прости мой пятничный ответ - « Но я не единственный » ;-)

birgire
источник
2
На самом деле это идеальный ответ.
Роберт Хюэ
1
Хорошая песня и еще более приятная реализация. Джон Леннон был бы горд. +1
Питер Гусен
2
Определенно, голос за воображение :) Жаль, что я не могу дать вам еще один ответ.
Николай
1
Я полностью согласен с @ialocin. Может, к сожалению, дать только один ответ за ответ.
Питер Гусен
1
Я только что наткнулся на отсутствующий выход в хуке перенаправления шаблона, совпадение пятницы ;-) @PieterGoosen
birgire
12

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

Прежде всего вы должны понять, что в ядре WordPress есть несколько «конечных точек», работающих с запросами.

  • Администрация имеет свои (и многочисленные), такие как wp-admin/index.php.
  • передняя сторона почти повсеместно проходит index.phpв самом корне, но обычно она «скрыта» довольно постоянными ссылками

Если вы посмотрите на последний файл, он имеет следующую строку:

define('WP_USE_THEMES', true);

Так что обычно WordPress ожидает, что у внешнего интерфейса всегда будет тема, и соответственно настраивает среду выполнения. Эта константа не сильно контролирует, только если шаблоны тем будут загружены в template-loader.php.

Обратите внимание, что это не препятствует загрузке родительских / дочерних тем (если они есть) в процессе загрузки ядра.

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

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

Rarst
источник