Czy WordPress działa bez motywu?

17

Czy WordPress działa bez motywu? Jeśli tak, to jak to działa? Proszę wyjaśnić krótko.

Jeśli WordPress wyświetla zawartość bez motywu, co kontroluje wynik?

chsuthar
źródło
1
Myślę, że powinna wyświetlać pustą stronę, jeśli w folderze motywów nie ma motywu.
Robert hue
3
O ile rozumiesz, musisz mieć motyw do działania Worpdress. Co próbujesz osiągnąć, tj. dlaczego zadajesz to pytanie?
stemie
3
Nie, nie potrzebujesz motywu do działania WordPress. Motyw służy głównie do wyświetlania treści, a jeśli nie jest to twoje wymaganie (może dotyczyć specjalnego projektu), WordPres będzie działał w ten sposób, z wyjątkiem wp-cron. Do tego możesz użyć zewnętrznego crona. Również poniższa odpowiedź naprawdę podsumowuje.
Robert hue
Zrób to, co zrobiłem i zastosuj opisaną tutaj koncepcję , a następnie zbuduj własną.
eyoung100

Odpowiedzi:

29

Myślę, że jest na to piosenka:

„Wyobraź sobie, że nie ma motywu . Jeśli spróbujesz. Łatwo. Nie ma piekła pod nami. Nad nami tylko niebo ...” ;-)

W tym wymyślonym śnie:

  • nadal możesz pobrać kanały RSS ze swojej witryny:

    example.com/feed/
  • nadal możesz zalogować się do swojego zaplecza:

    example.com/wp-login.php
  • nadal możesz uzyskać dostęp do backendu i pracować tam (prawie) jak zwykle:

    example.com/wp-admin/
  • planowanie wpisów nie będzie działać, więc otrzymasz komunikat Nieodebrany harmonogram .

  • wp-cron nie będzie wiarygodny.

  • nadal możesz uzyskać dostęp /wp-admin/admin-ajax.php

  • możesz użyć haczyków template_redirecti tempate_includedo sterowania wyjściem. Wypróbuj na przykład tę małą wtyczkę:

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

ps: Wybacz moją piątkową odpowiedź - „ Ale nie jestem jedyny ” ;-)

birgire
źródło
2
Właściwie to idealna odpowiedź.
Robert hue
1
Ładna piosenka i jeszcze ładniejsza implementacja. John Lennon byłby dumny. +1
Pieter Goosen
2
Zdecydowanie głosowanie za wyobraźnią cytuje :) szkoda, że ​​nie mogę dać ci kolejnej odpowiedzi.
Nicolai
1
Całkowicie zgadzam się z @ialocin. Niestety mogę udzielić tylko jednego głosu na odpowiedź.
Pieter Goosen,
1
Właśnie natknąłem się na brakujące wyjście w szablonie przekierowania, przypadek w piątek ;-) @PieterGoosen
birgire
12

Ponieważ używanie WordPressa bez motywu jest dość rzadkie, jego szczegóły techniczne nie przyciągają zbyt wiele uwagi.

Najpierw musisz zrozumieć, że w rdzeniu WordPress istnieje wiele „punktów końcowych” zajmujących się żądaniami.

  • strona admin ma swoje (i liczne), takie jak wp-admin/index.php.
  • strona przednia prawie uniwersalnie przechodzi index.phpw samym rdzeniu, ale zwykle jest „ukryta” przez ładne permalinki

Jeśli spojrzysz na ten ostatni plik , ma on następujący wiersz:

define('WP_USE_THEMES', true);

Więc zwykle WordPress spodziewa przód, aby zawsze mieć motyw i konfiguruje Runtime Environment odpowiednio. Ta stała nie kontroluje tak wiele, tylko jeśli szablony motywów zostaną załadowane template-loader.php.

Należy pamiętać, że nie zapobiega ładowaniu motywów nadrzędnych / podrzędnych (jeśli są obecne) podczas podstawowego procesu rozruchu.

Więc domyślnie WordPress oczekuje, że co najmniej jeden motyw będzie obecny, włączony i będzie miał szablony, które będą używane do wyświetlania na interfejsie użytkownika.

Jest to jednak tylko kwestia domyślna i można ją całkowicie skonfigurować. W takim przypadku WordPress będzie nadal w pełni działał po stronie administratora, natomiast po stronie frontonu wszystkie żądania oparte na szablonie motywu przestaną wyświetlać cokolwiek.

Rarst
źródło