Skip to content

Tutto per WordPress, lo sviluppo web — e non solo

In che linguaggio di programmazione è scritto WordPress

In che linguaggio di programmazione è scritto WordPress

Quando le persone chiedono in che linguaggio è scritto WordPress, c'è quasi sempre un'altra domanda dietro: «Da dove inizio se voglio capirlo?». È l'approccio giusto.

Lo sviluppo WordPress non è magia né un club esclusivo. È uno stack di cinque tecnologie, quattro delle quali sono familiari a qualsiasi sviluppatore front-end. La quinta, PHP, fa funzionare il core, i temi, i plugin e tutta la logica lato server. Ma non imparerai «un solo linguaggio». Devi capire come lavorano insieme e l'ordine giusto per apprenderli.

💡 Panoramica rapida:

  • Il core di WordPress è scritto in PHP. I dati risiedono in MySQL. Questo è il lato server, nascosto all'utente.
  • Nel browser, la pagina è costruita con HTML (struttura), CSS (stile) e JavaScript (interattività): tre tecnologie front-end.
  • Impara lo stack in questo ordine: HTML, poi CSS, poi PHP, poi JavaScript, poi SQL. Dal semplice al complesso.

PHP, il motore di WordPress

Il core di WordPress è composto da decine di migliaia di righe di codice PHP. Quando un browser richiede una pagina, il server esegue gli script PHP, recupera i dati dal database, li passa attraverso i template del tema e restituisce HTML già pronto. L'utente non vede mai il codice PHP; riceve la pagina già assemblata.

Esempio di codice PHP con variabili e logica condizionale

PHP in WordPress funziona come un direttore d'orchestra: «orchestra» l'HTML, chiama le funzioni del database, inserisce le impostazioni dal pannello di amministrazione e assembla la pagina finale. Qualsiasi template di un tema è un file PHP con HTML incorporato. Qualsiasi plugin è un file PHP che si aggancia al core tramite add_action e add_filter.

Senza PHP, WordPress semplicemente non funziona. Quindi la risposta alla domanda del titolo è chiara: WordPress è scritto in PHP. Ma non è l'unico linguaggio di cui uno sviluppatore ha bisogno.

HTML, lo scheletro di ogni pagina

HTML non è un linguaggio di programmazione; è un linguaggio di markup. Non «calcola»; descrive la struttura: dove si trova l'intestazione, dove il paragrafo, dove l'immagine, dove il pulsante. Il browser legge il markup HTML e lo trasforma in una pagina visibile.

In WordPress, l'HTML non è memorizzato come file separati. I template del tema sono scritti in PHP, ma producono HTML. Quando modifichi una pagina in Gutenberg, l'editor salva il contenuto nel database, ma i visitatori ricevono comunque HTML.

1<html>
2 <head>
3 <meta charset="UTF-8" />
4 <title>Page title in search</title>
5 </head>
6 <body>
7 <h1>Page heading</h1>
8 <p class="intro">Introduction paragraph text</p>
9 </body>
10</html>

La caratteristica chiave dell'HTML sono i tag. Ogni tag ha il suo ruolo. <h1> è un'intestazione di primo livello. <p> è un paragrafo. <a> è un link. Un tag di chiusura con una barra (</h1>) indica dove finisce l'elemento. Alcuni tag, come <meta> o <img>, sono auto-chiudenti: non hanno bisogno di un tag di coppia.

I tag HTML possono avere classi: class="intro" nell'esempio sopra. Una classe è un «gancio» per i CSS. Il browser trova tutti gli elementi con quella classe e applica gli stili dal file CSS.

In breve: l'HTML definisce cosa l'utente vede sulla pagina. Ma l'aspetto è determinato dai CSS.

CSS, l'abito di un sito web

CSS sta per Cascading Style Sheets. Se l'HTML dà struttura alla pagina, i CSS le danno colore, font, spaziatura, posizionamento dei blocchi e reattività mobile.

Codice CSS con regole per classi HTML

Senza CSS, qualsiasi sito web appare come un foglio bianco con testo nero e link blu. Stili delle intestazioni, griglie a colonne, animazioni, ombre, angoli arrotondati: tutto questo è CSS.

In WordPress, i CSS risiedono nei file del tema (di solito style.css). Ogni tema deve avere questo file; senza, WordPress non riconosce il tema. Anche i plugin possono caricare i propri file CSS tramite il meccanismo wp_enqueue_style().

1.intro {
2 color: #325050;
3 background: #fff;
4 font-family: 'Libre Baskerville', serif;
5 font-size: 0.85rem;
6 line-height: 1.6;
7}

Il punto prima di .intro significa: «applica questi stili a TUTTI gli elementi con la classe intro». Questa è la cascata: una classe, molti elementi su pagine diverse. Cambia la regola in un punto e l'intero sito si aggiorna.

Per lo sviluppo WordPress moderno, devi conoscere non solo i CSS di base ma anche i layout responsive che usano le media query. I temi senza reattività oggi non sopravvivono; Google classifica i siti con un approccio mobile-first.

JavaScript, il comportamento della pagina

JavaScript è l'unico dei cinque di cui WordPress può tecnicamente fare a meno. Un tema può funzionare completamente senza una sola riga di JS. Ma in pratica, nessun sito moderno ne fa a meno.

JavaScript gestisce ciò che accade dopo il caricamento della pagina: menu a tendina, finestre modali, lazy loading delle immagini, validazione dei form prima dell'invio, cambio di tema senza ricaricare. Tutto ciò che risponde alle azioni dell'utente (clic, scorrimento, input di testo) si basa su JS.

1(function($) {
2 var navMenu = '.primary-navigation';
3 var pageContent = '.main-content';
4 var gap = parseInt($('html').css('font-size'), 10) * 2;
5
6 function setPageMin() {
7 var height = $(navMenu).height();
8 $(pageContent).css('min-height', height + gap);
9 }
10
11 $(window).on('load', function() {
12 setPageMin();
13 $(window).on('resize', function() {
14 setTimeout(setPageMin, 120);
15 });
16 });
17})(jQuery);

Questo esempio jQuery mostra un compito tipico: calcolare l'altezza della navigazione e impostare un'altezza minima per l'area del contenuto in modo che la pagina non «salti». Il codice viene eseguito al caricamento e a ogni ridimensionamento della finestra.

Ma l'impatto più grande di JavaScript su WordPress è arrivato con Gutenberg, l'editor a blocchi scritto in React. L'intera interfaccia di modifica dei post, tutti i blocchi (paragrafo, intestazione, galleria, colonne), è un'applicazione JavaScript in esecuzione all'interno dell'amministrazione di WordPress.

Ecco perché oggi uno sviluppatore WordPress che ignora completamente JavaScript è piuttosto limitato. Puoi costruire un tema, ma non puoi scrivere blocchi Gutenberg personalizzati senza JS.

SQL e MySQL, dove risiedono i dati

Articoli, pagine, impostazioni, utenti, commenti, meta campi: tutto il contenuto di WordPress è memorizzato in un database MySQL (o MariaDB). PHP comunica con il database tramite query SQL, ma gli sviluppatori raramente devono scrivere SQL «grezzo».

WordPress fornisce un proprio livello di astrazione, la classe wpdb. Chiamate come get_posts(), update_post_meta() e WP_Query contengono già al loro interno query SQL pronte. Questo protegge da errori comuni e SQL injection, a patto di usare i metodi integrati invece di scrivere query manuali.

Tuttavia, capire SQL è utile: quando un progetto cresce fino a decine di migliaia di articoli e le query iniziano a rallentare, la capacità di leggere EXPLAIN e trovare un indice mancante è inestimabile.

Com'è strutturato un tema WordPress

Un tema WordPress non è un monolite. È un insieme di file PHP, ciascuno responsabile di un diverso tipo di pagina. index.php gestisce la home page e tutto il resto per impostazione predefinita. single.php gestisce i singoli articoli. page.php gestisce le pagine statiche. archive.php gestisce gli archivi delle categorie. WordPress seleziona automaticamente il template giusto in base a una gerarchia chiamata Template Hierarchy.

All'interno di ogni template: funzioni PHP standard del core di WordPress. the_title() restituisce il titolo. the_content() restituisce il corpo dell'articolo. wp_nav_menu() restituisce il menu. L'elenco completo è disponibile nella documentazione di WordPress. HTML e PHP sono mescolati nei temi: apri <?php, chiami una funzione, chiudi ?>, prosegui con l'HTML. Non è un'architettura ideale per gli standard moderni, ma alimenta oltre il 40% dei siti web su internet.

Per creare un tema, devi conoscere PHP, HTML e CSS come minimo. JavaScript è opzionale ma utile per elementi interattivi (menu mobile, tab, accordion).

Com'è strutturato un plugin WordPress

Un plugin è un file PHP (almeno uno) con un'intestazione di commento speciale all'inizio. In questo commento, WordPress legge il nome, la versione e l'autore: tutto ciò che vedi nell'amministrazione nella pagina dei plugin.

Un plugin interagisce con il core attraverso gli hook. Ce ne sono due tipi:

  • Actions (add_action) eseguono codice in momenti specifici: quando una pagina si carica, quando un articolo viene salvato, quando un plugin viene attivato.
  • Filters (add_filter) intercettano e modificano i dati: cambiano un testo, aggiungono una classe CSS, sostituiscono un URL.

Il plugin più semplice è letteralmente poche righe:

1<?php
2/**
3 * Plugin Name: Greeting Plugin
4 * Description: Adds a greeting at the end of every post.
5 * Version: 1.0
6 */
7
8function my_greeting($content) {
9 if (is_single()) {
10 $content .= '<p>Thank you for reading our blog!</p>';
11 }
12 return $content;
13}
14add_filter('the_content', 'my_greeting');

Vedi add_filter? È esattamente così che i plugin di WordPress estendono le funzionalità: non modificando il core (cosa severamente vietata) ma intercettando i dati tramite hook. Ecco perché gli aggiornamenti di WordPress non rompono il codice personalizzato, a patto che lo sviluppatore abbia usato le API ufficiali invece di modificare i file del core.

WordPress e Node.js: nessuna sostituzione in arrivo

Le voci che WordPress «passerà a Node.js» circolano dal 2015, quando è apparso Calypso. Calypso è un'interfaccia di amministrazione desktop per WordPress.com, scritta in Node.js e React. Poi è arrivato Gutenberg, anch'esso in React. JavaScript è diventato più visibile e alcuni hanno concluso che PHP fosse agli sgoccioli.

Non è vero. La posizione ufficiale di WordPress è invariata: il core resta su PHP. Nessuno ha in programma di riscrivere un codebase di 20 anni in Node.js; sarebbe inutile e romperebbe la retrocompatibilità con migliaia di temi e plugin.

Ciò che è realmente accaduto: WordPress è diventato una piattaforma ibrida. Backend: PHP e MySQL. Frontend amministrativo: JavaScript (React). Sito pubblico: HTML, CSS e un po' di JS. L'API REST, integrata nel core dalla versione 4.7, consente alle applicazioni JavaScript di comunicare con WordPress senza ricaricare la pagina. Questo ha aperto la porta alle soluzioni headless, dove WordPress funziona come backend CMS headless mentre il frontend è costruito su Next.js o Gatsby.

In conclusione: imparare Node.js e React per lavorare con WordPress è utile, ma non al posto di PHP. Imparali insieme a PHP.

Da dove iniziare a imparare WordPress

Il percorso di apprendimento va dal semplice al complesso, da ciò che l'utente vede nel browser a ciò che accade sul server.

Passo 1: HTML. Senza capire tag, attributi e struttura del documento, non ha senso andare avanti. L'HTML è l'alfabeto del web. Fortunatamente, le basi si possono imparare in una settimana.

Passo 2: CSS. Una volta che la pagina ha una struttura, ha bisogno di stile. Impara il box model, il posizionamento, flexbox, grid e le media query. Senza layout responsive, non puoi costruire un tema WordPress.

Passo 3: PHP. Ora, la parte più importante. Impara PHP nel contesto di WordPress: come funzionano le funzioni del core, cos'è il loop WP_Query, come è strutturata la gerarchia dei template. Un PHP «generico» serve come fondamento, ma concentrati su ciò che incontrerai realmente in temi e plugin.

Passo 4: JavaScript. Inizia in modo semplice: jQuery per la manipolazione del DOM e la gestione degli eventi. Poi, JavaScript moderno (ES6+), seguito da React per i blocchi Gutenberg personalizzati.

Passo 5: SQL. Non scrivere query manualmente se non assolutamente necessario, ma sii in grado di leggere e capire cosa succede sotto il cofano di WP_Query. Nei grandi progetti, questo farà risparmiare ore di debugging.

L'ordine è importante. Se inizi con JavaScript ignorando PHP, sarai in grado di scrivere blocchi Gutenberg ma non di costruire un tema. Se inizi con PHP senza HTML/CSS, avrai codice lato server ma niente da mostrare all'utente. Segui il percorso e nel giro di pochi mesi sarai in grado di costruire un tema completo da zero.

⁉️🤔 Domande frequenti

Devo conoscere tutti e cinque i linguaggi per creare un tema WordPress?

Per costruire un tema semplice bastano PHP, HTML e CSS. JavaScript è necessario per elementi interattivi: menu mobile, slider, lazy loading. SQL non è essenziale all'inizio poiché le funzioni già pronte del core nascondono le query al database. Ma per progetti complessi e ottimizzazioni, non puoi fare a meno di JS e SQL.

Posso diventare uno sviluppatore WordPress conoscendo solo JavaScript?

No. Il core, i temi e i plugin girano su PHP. JavaScript è utile per i blocchi Gutenberg e l'interattività front-end, ma senza PHP non puoi creare nemmeno il plugin più semplice. JavaScript e PHP in WordPress sono partner, non concorrenti.

È vero che WordPress passerà completamente a JavaScript a breve?

No. La posizione ufficiale del team di WordPress: il core resta su PHP. JavaScript estende le capacità (Gutenberg, API REST) ma non sostituisce PHP lato server. Le preoccupazioni sono nate a causa della crescente presenza di React nel pannello di amministrazione, ma si tratta di evoluzione, non di sostituzione della piattaforma.

Quanto tempo ci vorrà per imparare lo sviluppo WordPress da zero?

Con un approccio sequenziale (HTML → CSS → PHP → JS → SQL) e pratica quotidiana, considera da 4 a 8 mesi per raggiungere il livello in cui puoi costruire con sicurezza un tema personalizzato e un plugin semplice. Le prime due settimane sono solo HTML e CSS. Dopodiché, PHP occuperà la maggior parte del tuo tempo perché tutto dipende da lui.

Devo per forza imparare jQuery o posso passare direttamente a React?

jQuery è ancora usato nella maggior parte dei temi WordPress ed è integrato nel core; conoscerlo aiuta nella manutenzione di progetti legacy. Ma per i nuovi sviluppi (specialmente i blocchi Gutenberg), impara React. Inizia con JavaScript moderno (ES6+), poi React: è il percorso più orientato al futuro.

Vale la pena imparare WordPress nel 2026

Risposta breve: sì. WordPress alimenta oltre il 43% di tutti i siti web su internet, e questa cifra si è mantenuta stabile nell'intervallo 43-44% negli ultimi anni. La domanda di sviluppatori che capiscono qualcosa di più del semplice «cliccare il pulsante installa tema» e sanno scrivere funzionalità personalizzate in PHP rimane costantemente alta.

La chiave è l'ordine giusto. HTML e CSS ti danno una base in un paio di settimane. PHP apre l'accesso al core, agli hook e ai plugin. JavaScript aggiunge interattività e potenziale di crescita (Gutenberg, headless, React). SQL completa il quadro a livello di database.

Inizia con il primo passo e in sei mesi vedrai WordPress non come un «costruttore di siti web» ma come una potente piattaforma che controlli a ogni livello, dal tag HTML all'indice SQL.