WordPress funcționează fără o temă?

5 sept. 2014, 12:05:10
Vizualizări: 28.8K
Voturi: 18

WordPress poate funcționa fără o temă? Da, WordPress poate funcționa tehnic fără o temă, dar cu limitări semnificative. Funcționalitatea de bază a sistemului va continua să lucreze.

Când WordPress nu are o temă activă, motorul de bază al CMS-ului va continua să proceseze și să servească conținut, dar fără niciun stil sau structură vizuală. În acest caz, WordPress va folosi funcționalitatea implicită pentru a afișa conținutul într-un format foarte simplu, bazic. Acest lucru este controlat de nucleul WordPress care gestionează rutarea URL-urilor, procesarea bazei de date și generarea răspunsurilor HTTP de bază.

4
Comentarii

Cred că ar trebui să afișeze o pagină goală dacă nu există nicio temă în directorul de teme.

Robert hue Robert hue
5 sept. 2014 12:07:42

Din câte înțeleg, ai nevoie de o temă pentru ca WordPress să funcționeze. Ce încerci să realizezi, adică de ce pui această întrebare?

stemie stemie
5 sept. 2014 12:24:14

Nu, nu ai nevoie de o temă pentru ca WordPress să funcționeze. Tema este în principal pentru afișarea conținutului și dacă acest lucru nu este o cerință pentru tine (poate pentru un proiect special), atunci WordPress va funcționa perfect fără ea, cu excepția wp-cron. Pentru aceasta poți folosi un cron extern. De asemenea, răspunsul de mai jos rezumă foarte bine situația.

Robert hue Robert hue
5 sept. 2014 13:03:48

Fă ce am făcut eu și folosește conceptul descris aici, apoi construiește-l pe al tău.

eyoung100 eyoung100
5 sept. 2014 22:10:08
Toate răspunsurile la întrebare 2
8
29

Cred că există un cântec pentru asta:

"Imaginează-ți că nu există tema. E ușor dacă încerci. Niciun iad sub noi. Deasupra doar cerul..." ;-)

Deci în acel vis imaginar:

  • tot poți accesa fluxurile RSS de pe site:

    example.com/feed/
    
  • tot poți să te autentifici în backend:

    example.com/wp-login.php
    
  • tot poți accesa backend-ul și să lucrezi acolo (aproape) ca de obicei:

    example.com/wp-admin/
    
  • programarea postărilor nu va funcționa, așa că vei primi mesajul Missed schedule.

  • wp-cron nu va fi fiabil.

  • tot poți accesa /wp-admin/admin-ajax.php

  • poți folosi hook-urile template_redirect și tempate_include pentru a controla output-ul. Încearcă de exemplu acest mic plugin:

    <?php
    /** Plugin Name: No-Theme-Day **/
    add_action( 'template_redirect', 
        function()
        { 
            wp_die( __( "Jibby! Astăzi este Ziua Fără Tema!" ) ); 
        } 
    );
    
  • ...

ps: Iartă-mi răspunsul de vineri - "Dar nu sunt singurul" ;-)

5 sept. 2014 12:55:11
Comentarii

De fapt, este răspunsul perfect.

Robert hue Robert hue
5 sept. 2014 12:58:15

Melodie frumoasă cu o implementare și mai frumoasă. John Lennon ar fi mândru. +1

Pieter Goosen Pieter Goosen
5 sept. 2014 13:04:05

Cu siguranță un vot pozitiv pentru citatul din Imagine :) păcat că nu pot să-ți mai dau încă unul pentru răspuns.

Nicolai Grossherr Nicolai Grossherr
5 sept. 2014 13:04:33

Sunt complet de acord cu @ialocin. Din păcate, pot da doar un singur vot pozitiv pe răspuns.

Pieter Goosen Pieter Goosen
5 sept. 2014 13:09:46

Astăzi revin în timp la postările de vineri :-)

Pieter Goosen Pieter Goosen
13 feb. 2015 14:48:19

Tocmai am dat peste lipsa exit-ului în hook-ul de template redirect, o coincidență de vineri ;-) @PieterGoosen

birgire birgire
13 feb. 2015 17:00:45

Hahaha, te-am luat puțin peste picior, am văzut editarea. Dar totuși, nu-i rău ca sfârșit de săptămână. John Lennon este întotdeauna apreciat :-)

Pieter Goosen Pieter Goosen
13 feb. 2015 17:07:12

Vinerile sunt minunate ;-)

birgire birgire
13 feb. 2015 17:22:50
Arată celelalte 3 comentarii
0
13

Deoarece utilizarea WordPress fără o temă este destul de rară, aspectele tehnice ale acesteia nu primesc prea multă atenție.

Mai întâi trebuie să înțelegeți că există mai multe „endpoints” în nucleul WordPress care se ocupă de cereri.

  • partea de administrare are propriile sale (și numeroase) endpoint-uri, cum ar fi wp-admin/index.php.
  • partea frontală aproape universal trece prin index.php din rădăcina site-ului, dar de obicei este „ascuns” de permalink-uri prietenoase

Dacă aruncați o privire la acest fișier, veți observa următoarea linie:

define('WP_USE_THEMES', true);

Deci, în mod tipic, WordPress se așteaptă ca partea frontală să aibă întotdeauna o temă și configurează mediul de execuție în consecință. Această constantă nu controlează prea multe, doar dacă șabloanele temei vor fi încărcate în template-loader.php.

Rețineți că nu împiedică încărcarea temelor părinte/copil (dacă sunt prezente) în timpul procesului de inițializare al nucleului.

Deci, în mod implicit, WordPress se așteaptă ca cel puțin o temă să fie prezentă, activată și să aibă șabloane care să fie utilizate pentru afișarea pe partea frontală.

Acesta este, totuși, doar o chestiune de implicit și poate fi complet configurat. Într-un astfel de caz, WordPress va continua să funcționeze pe deplin pe partea de administrare, în timp ce pe partea frontală toate cererile care se bazează pe șabloanele temei nu vor mai afișa nimic.

5 sept. 2014 16:58:43