structura fisierelor wordpress

Structura fisierelor de baza WordPress

Pentru a putea intelege cat mai bine modalitatea de functionare a CMS-ului WordPress, este bine sa cunoastem toate fisierele de baza al acestuia. Fiecare dintre fisiere contine un cod specific pentru fiecarei parte din paginile site-ului sau a panoului de control. Dupa structura lor, aceste fisiere sunt de trei tipuri: Core, teme si plugin-uri.

Prin fisierele Core ne referim la toate fisierele de baza care sunt adaugate in mod implicit in urma instalarii WorPress-ului pe server. In acest articol vom enumera si explica fiecare fisier de baza Core in parte, insa, foarte important de retinut este faptul ca nu este recomandat sa aplicati editari acestor fisiere deoarece ele vor fi rescrise automat ori de cate ori se efectueaza o actualizare WordPress. Pe de alta parte temele si plugin-urile pot fi adaugata ulterior instalarii si bineinteles, sunt fisiere ce pot fi editate si personalizate in anumite circumstante.
Cunoasterea fisierelor de baza va permite sa intelegeti mai bine cum functioneaza platforma WordPress. Acest lucru se datoreaza si faptului ca in interiorul acestora putem gasi numeroase etichete de comentarii cu informatii detaliate despre codul scris. Ele au de altfel, scopul de a prezenta rolul si modul de functionare a fiecarui fisier in parte.

Intelegerea structurii folderelor si a fisierelor platformei WordPress este esentiala pentru fiecare dezvoltator in parte. Cu aceste cunostiinte veti putea depana diverse erori ce pot aparea pe site. Vei putea sti totodata unde sunt stocate temele, plugin-urile, imaginile incarcate, postarile, paginile, permalink-urile si asa mai departe.

Instalarea platformei WordPress pe un server se poate realiza numai dupa ce ati creat intai o baza de date. Importanta acestui lucru se datoreaza faptului ca aceasta instalare nu va stoca doar fisiere in directorul de baza, ci va crea automat si tabele mysql pe care le veti putea vedea si manipula ulterior prin intermediul software-ului phpmyadmin al serverului.
Odata ce ati finalizat instalarea WordPress intr-un anumit director (de regula acesta este public_html), veti putea vedea ca au fost create cateva foldere si fisiere:

1. Fisierele din primul nivel al directorului public_html

Fisierul wp-config.php

Primul fisier cu care intrati in contact inca din momentul instalarii platformei este fisierul wp-config.php. Acest fisier contine informatii de baza cu privire la setarile ce tin de atribuirea unei baze de date site-ului creat precum si de creare a unui user ce va avea rolul de administrator al site-ului. Prefixul bazei de date este si el de asemenea inclus, acesta fiind un factor important cand vine vorba de securitatea datelor stocate. Implicit, prefixul este setat ca default ‘wp_’, insa este recomandata personalizarea acestuia.

wp-config.php este in acelasi timp un fisier extrem de important pentru dezvoltatori, deoarece din continutul acestuia puteti opta spre exemplu pentru activarea modului de depanare al platformei, prin intermediul careia puteti vedea in paginile site-ului, numele erorilor aparute precum si locatia codurilor legate de acestea atunci cand sunteti logat. Fisierul wp-config.php nu este inclus in fisierele pachetului Core decat dupa finalizarea instalarii WordPress-ului. Fara acest fisier (respectiv fara o conexiune stabila a site-ului la o baza de date) se va genera un fundal alba in paginile web cu urmatoarea eroare afisata: „eroare la stabilirea unei conexiuni la baza de date”. In structura fisierului se gasesc urmatoarele setari de baza:

  1. define(‘DB_NAME’, ‘ ‘); – Numele bazei de date de care se leaga site-ul
  2. define(‘DB_USER’, ‘ ‘); – Numele utilizatorului conectat la baza de date in Cpanel
  3. define(‘DB_PASSWORD’, ‘ ‘); – Parola utilizatorului conectat la baza de date
  4. define( ‘DB_HOST’, ‘localhost’ ); – Numele programului de gazduire. Acesta inlocuieste IP-ul computerului pe care functioneaza serverul
  5. define( ‘DB_CHARSET’, ‘utf8’ ); – Setul de caractere utilizat in tabelele MySql.
  6. define( ‘DB_COLLATE’, ” ); – Ordinea de sortare a setului de caractere
  7. define(‘AUTH_KEY’, ‘ ‘);
    define(‘SECURE_AUTH_KEY’, ‘ ‘);
    define(‘LOGGED_IN_KEY’, ‘ ‘);
    define(‘NONCE_KEY’, ‘ ’);
    define(‘AUTH_SALT’, ‘ ‘);
    define(‘SECURE_AUTH_SALT’, ‘ ‘);
    define(‘LOGGED_IN_SALT’, ‘ ‘);
    define(‘NONCE_SALT’, ‘ ‘); – 8 coduri (secret keys) pentru conectarea la informatiile stocate de cookie-uri
  8. $table_prefix = ‘wp_’; – Prefixul bazei de date
  9. define( ‘WP_DEBUG’, false ); – Daca inlocuiti “false” cu “true”, acesta va activa modul de depanare

Fisierul .htaccess

Chiar daca denumirea de .htaccess contine un punct in fata, acest lucru nu se intampla pentru a indica o extensie ci reprezinta pur si simplu numele fisierului pe care serverul Apache il solicita ori de cate ori este nevoie sa ruleze o redirectionare. Insemnatatea numelui acestui fisier este “access hipertext” si aduce un avantaj important ce consta in usurinta personalizarii permalink-urilor setate direct din panoul de control WordPress.

Spre exemplu prin intermediul acestui fisier sunt redirectionate paginile site-ului catre fisierul 404.php, care afiseaza o eroare de rezultate in cautarile utilizatorilor. In alta ordine de idei acest fisier contribuie de asemenea si la modificarea adresei URL din http in https, atunci cand pe server exista instalat un certificat SSL. Importanta acestui fisier consta in indrumarea motoarelor de cautare atunci cand anumite pagini si-au schimbat locatia sau pur si simplu nu mai exista.

De altfel, acest fisier nu este legat direct de WordPress ci de serverul de gazduire. Mai exact, fisierul .htaccess nu este obligatoriu, insa este necesar daca doriti sa fiti feriti de diverse penalizari ale site-ului atunci cand vine vorba de aparitia unor link-uri nefunctionale.
Un alt aspect important cu privire la acest fisier, este faptul ca prin intermediul lui pot fi blocate anumite adrese IP, ceea ce rezulta o masura de securitate impotriva persoanelor straine ce sunt rau intentionate si care incearca sa se logheze la site-ul dvs. Un fisier .htaccess nou instalat va arata asa:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Fisierul wp-activate.php

Acest fisier are rolul de a confirma codurile de activare pe care WordPress le trimite prin intermediul email-urilor utilizatorilor noi care se inregistreaza pe un site. Codurile sunt confirmate de regula dupa ce utilizatorul da click pe linkul primit in casuta postala.

Fisierul error_log

Acest fisier nu exista de la inceputul instalarii si nici dupa e aceasta este finalizata. El se genereaza automat doar atunci cand pe site apare o anumita eroare. In interiorul sau sunt afisate toate erorile pe care le avut site-ul de lungul timpului sub forma unei liste ce contine:

  • data erorii
  • tipul de eroare
  • calea catre fisierul care genereaza eroarea, precum si
  • numarul liniei de cod al acesteia

Fisierul index.php

Index.php ajuta la incarcarea si afisarea paginilor in browser, atunci cand acestea sunt solicitate de catre utilizatori. Lipsa acestui fisier ar produce afisarea folderelor existente in directorul public_html direct in browser, in loc sa afiseze pagini web. Acest lucru nu ar fi indicat din punct de vedere al securitatii site-ului. Fara acest fisier, vizitatorii ar putea descarca fisierele de pe site fara a mai fi nevoie ca acestia sa fie logati la panoul Cpanel. Practic, fisierul nu face altceva decat sa incarce fisierul wp-blog-header.php prin intermediul caruia ii spune WordPress-ului sa incarce tema.

Continutul fisierului wp-blog-header.php

<?php
/**
 * Loads the WordPress environment and template.
 *
 * @package WordPress
 */

if ( ! isset( $wp_did_header ) ) {

	$wp_did_header = true;

	// Load the WordPress library.
	require_once __DIR__ . '/wp-load.php';

	// Set up the WordPress query.
	wp();

	// Load the theme template.
	require_once ABSPATH . WPINC . '/template-loader.php';
}

Fisierele license.txt

Acest fisier ofera detalii cu privire la licenta GPL oferita de platforma WordPress in mod gratuit.

Fisierul readme.html

Include detalii utile cu privirea la procesele de instalare, actualizare si migrare a site-urilor contruite in WordPress.

Fisierul wp-cron.php

Posibilitatea de a genera evenimente programate in timp direct din partea de back-end a panoului WordPress se datoreaza acestui fisier. Mai exact, cu ajutorul codului integrat, acest fisier ne ofera avantajele de a programa publicarea articolelor si actualizarea temelor, a plugin-urilor sau chiar a platformei.

Fisierul wp-load.php

Unul din rolurile acestui fisier este de a verifica in permanenta daca exista fisierul wp-config.php. In cazul in care fisierul wp-config.php nu ar exista, s-ar rula automat un nou ecran de (re)instalare a platformei. El contribuie de asemenea la incarcarea plugin-urilor sau a temelor care se folosesc de baza de date.

Fisierul xmlrpc.php

Codul structurat are scopul de a standardiza comunicarea dintre platforma WordPress si alte software-uri. Cu alte cuvinte permite altor aplicatii, total separate de WordPress, sa comunice cu platforma site-ului pentru a putea posta continut direct prin intermediul acestora. Spre exemplu: aplicatii de blogging offline, aplicatii mobile, etc.

Fisierul wp-login.php

Acest fisier genereaza pagina de logare din partea de back-end. Totodata, asigura buna functionalitate a proceselor de autentificare, inregistrare si resetare a parolelor utilizatorilor.

wordpress users

Fisierul wp-signup.php

Este utilizat pentru a inregistra administratorul principal al site-ului in momentul rularii instalarii WordPress. Acesta poate fi solicitat de catre fisierele wp-load.php si wp-blog-header.php pentru a functiona.

2. Folderul wp-admin

Prin intermediul fisierelor existente in acest folder sunt controlate toate elementele ce tin de panoul de control WordPress. Cu alte cuvinte, folderul wp-admin ofera posibilitatea de a accesa partea de back-end a site-ului prin intermediul caruia puteti adauga pagini, postari si fisiere media fara a fi nevoie sa va logati la panoul Cpanel al serverului sau prin FTP. In interiorul folderului intalnim pe langa fisierele de baza CORE 7 subfoldere, dupa cum este aratat in imaginea de mai jos:

Subfolderul “images”

In cadrul acestuia sunt stocate toate imaginile pe care WordPress le afiseaza implicit in panoul de administrare.

Subfolderul “CSS”

Dupa cum ii este si numele, acesta cuprinde toate fisierele CSS utilizate pentru stilizarea paginilor existente in panoul WordPress.

Subfolderul “JS”

Acesta contine toate fisierele ce contin cod Javascript utilizat in paginile de back-end.

Subfolderul “include”

Scopul principal al acestui folder este de a stoca si manipula functionalitati de baza intalnite in WordPress, precum:

  • crearea si utilizarea unor politici privind utilizarea site-ului
  • utilizarea editorului de imagini
  • gestionarea widget-urilor
  • implementarea hook-urilor solicitate de catre teme, etc.

Subfolderul “maint”

Acesta contine un singur fisier, respectiv repair.php prin intermediul caruia pot fi actualizate si optimizate tabelele din baza de date. In situatiile in care platforma WordPress nu se poate conecta corespunzator la baza de date, acest fisier contribuie la remedierea acestor probleme. El poate rescrie sau restaura anumite tabele (create in baza de date in mod implicit de catre WordPress in momentul instalarii) in situatiile in care acestea sunt compromise sau sterse.

Subfolderul “network”

Aici sunt stocate toate fisierele necesare pentru utilizarea modului “multisite” al panoului back-end din WordPress.

Subfolderul “user”

Acesta ofera posibilitatea de a face trecerea de la un cont de user la altul, atunci cand utilizezi modul “multisite”.

Fisierul admin.php

Cel mai important fisier din acest folder este admin.php. Prin intermediul acestuia sunt verificate rolurile fiecarui utilizator, astfel incat optiunile prezente in panoul de control WordPress sa fie afisate in functie de capabilitatile si setarile configurate. Astfel, acesta poate bloca afisarea anumitor functionalitati pentru persoanele logate la site, in situatia in care administratorul site-ului le-a restrictionat anumite permisiuni prin intermediul atribuirii unui rolului.

Fisierul users.php

Acest fisier contribuie la modul in care panoul WordPress este afisat pentru utilizatori, diferentiind administratorii de celelalte roluri de utilizator.

Fisierul update.php

Oridecate ori vedeti in panoul WordPress notificari privind necesitatea actualizarii platformei la o ultima versiune aparuta, acest lucru este generat prin intermediul acestui fisier. Aici sunt incluse si paginile de configurarea a actualizarilor.

Fisierul network.php

Codul acestuia permite utilizarea sa se logheze pe mai multe site-uri WordPress prin intermediul unui singur panou de control. Cu alte cuvinte, permite vizualizarea partilor de back-end a mai multor site-uri prin utilizarea infrasctructurii “multisite”.

Fisierul profile.php

Cu acest fisier este posibila vizualizarea unei pagini a profilului fiecarui utilizator inscris pe site. In aceasta pagina sunt afisate datele utilizatorilor, informatiile de logare a acestora precum si paletele de culori adaugate.

Fisierul theme-install.php

Acesta creeaza paginile din panoul de control prin intermediul carora puteti vedea temele disponibile. De asemenea genereaza si pagina in care puteti adauga o tema noua WordPress.

Fisierul themes.php

Acest fisier genereaza paginile de prin intermediul carora poate fi modificata o tema activa.

Fisierul plugin-instal.php

Toate paginile in care puteti vedea plugin-urile disponibile sunt solicitate de acest fisier. De altfel, acesta creaza si pagina de adaugarea a unui plugin nou.

Fisierul plugins.php

Afiseaza pagina de plugin-uri instalate.

3. Folderul wp-content

Acesta este unul din cele mai importante foldere utilizate de catre dezvoltatori, deoarece prin intermediul lui puteti sa gestionati plugin-urile si temele instalate sau create custom, precum si fisierele incarcate in biblioteca media (imagini, fisiere PDF, etc.). In interiorul acestui folder vom intalni urmatoarele:

Subfolderul “languages”

Aici sunt stocate toate fisierele ce tin de:
-limba implicita setata pentru site
-traducerile plugin-urilor si a temelor
-limbile utilizate in cadrul unui modul de traducere

Subfolderul “plugins”

Aici sunt stocate individual in cate un subdosar toate plugin-urile instalate.

Subfolderul “themes”

Acesta contine folderele individuale ale temelor descarcate sau create.

Subfolderul “uploads”

Toate imaginile incarcate sunt structurate aici la randul lor in foldere ordonate dupa:

  • an
  • module
  • template-uri

4. Folderul wp-includes

Dupa numarul de fisiere, acesta este cel mai mare folder din structura WordPress si contine toate ingredientele necesare pentru buna utilizare a platformei. Aici sunt stocate widget-urile, fonturile utilizate, blocuri de construire a paginilor sau a articolelor, certificate, hartile site-ului, template-urile, etc.
Cel mai important fisier din acest folder este functions.php prin intermediul caruia sunt prezente toate functiile PHP implicite WordPress-ului.

Distribuie: