Guida introduttiva allo sviluppo di temi per WordPress: creare un tema personalizzato da zero.

Leggere in 2 minuti.
2026-03-12
2026-06-03
2,575
Guadagno delle commissioni quando fai acquisti tramite i link qui sotto, senza alcun costo aggiuntivo per te.

Fundamenti dello sviluppo di temi per WordPress e configurazione dell’ambiente di sviluppo

Prima di iniziare a creare un tema personalizzato per WordPress, è necessario comprendere la sua struttura di base. Il tema più semplice richiede soltanto due file:style.cssindex.phpTra questi,style.cssNon si tratta semplicemente di un file di stili (un “stylesheet”), ma piuttosto dell’“identificativo” di un tema: contiene informazioni fondamentali come il nome del tema, l’autore, una descrizione, ecc. Queste informazioni vengono dichiarate attraverso blocchi di commenti speciali e rappresentano la chiave per il riconoscimento del tema da parte di WordPress.

La preparazione dell’ambiente di sviluppo è il primo passo. Si consiglia di creare un ambiente di test locale utilizzando strumenti come Local by Flywheel, XAMPP o MAMP. Questo permette di sviluppare e debuggare il codice senza influenzare il sito web online. Inoltre, è necessario preparare un editor di codice, come VS Code o PhpStorm, che fornisce un’eccellente supporto per la formattazione del codice e suggerimenti riguardanti PHP, HTML, CSS e JavaScript.

Oltre ai due file essenziali menzionati, la struttura di base del tema include, con l’aggiunta di nuove funzionalità, anche molti altri file di template. Ad esempio, quelli utilizzati per la gestione della pagina di un singolo articolo.single.phpUtilizzato per l’archiviazione delle pagine.archive.php…e anche quelli utilizzati per la pagina.page.phpSeguire questa struttura modulare dei file è un principio fondamentale nello sviluppo di temi per WordPress: consente agli sviluppatori di creare layout e stili specifici per diversi tipi di contenuti e pagine.

Si consiglia di leggere Guida completa allo sviluppo di temi WordPress: creare un tema personalizzato da zero.

Struttura dei file principali e gerarchia dei template

WordPress utilizza un sofisticato sistema di gerarchia dei template per selezionare automaticamente il file template più adatto alla visualizzazione della pagina. Comprendere questo sistema è fondamentale per uno sviluppo efficiente. In parole povere, quando un utente accede a una pagina specifica, WordPress cerca il file template seguendo un ordine che va da quello più specifico a quello più generico.

UltaHost – Hosting per siti WordPress
Garanzia di rimborso entro 30 giorni, larghezza di banda illimitata e accesso ai database, protezione gratuita contro gli attacchi DDoS; sconto del 50% per l’acquisto di un piano valido per 3 anni (da 3 a 4 TB di spazio di archiviazione).

Ad esempio, quando si accede a un articolo con l’ID 123, WordPress cerca sequenzialmente:single-post-123.php > single-post.php > single.php > singular.php > index.phpGli sviluppatori possono controllare con precisione il modo in cui vengono visualizzati i diversi contenuti creando questi file specifici.

Creare il file della pagina principale di base rappresenta il punto di partenza.index.phpÈ il modello di riserva definitivo per questo argomento: il più basilare possibile.index.phpDi solito, queste funzioni includono il recupero della parte iniziale del sito web (header), l’output ciclico del contenuto degli articoli e il recupero della parte finale del sito web (footer).

<article>
        <h2><p><strong>Questo testo verrà sostituito dal titolo dell'articolo corrente.</strong></p></h2>
        <div><p><strong>Questo testo è stato tradotto automaticamente. Se desideri una traduzione corretta, contattaci.</strong></p></div>
    </article>

Questo codice dimostra il ciclo principale di WordPress (The Loop), che viene utilizzato per verificare se esistono articoli e per visualizzare, in modo ciclico, il titolo e il contenuto di ciascun articolo.get_header()get_footer()Le funzioni vengono introdotte separatamente.header.phpfooter.phpI file rappresentano la chiave per il riutilizzo del codice.

Funzionalità tematiche e cicli in WordPress

Il ciclo di WordPress rappresenta il meccanismo fondamentale per l’visualizzazione dei contenuti. Si tratta di un blocco di codice PHP che viene utilizzato per recuperare gli articoli dal database e mostrarli sulla pagina. Nello sviluppo pratico, è spesso necessario personalizzare il funzionamento di questo ciclo: ad esempio, per visualizzare soltanto gli articoli appartenenti a una determinata categoria o per modificare l’ordine in cui vengono elencati gli articoli.

Si consiglia di leggere Guida definitiva allo sviluppo di temi per WordPress: il processo completo dalla concezione alla distribuzione

È possibile utilizzare la funzione di ricerca per articoli personalizzati.WP_QueryLa classe fornisce strumenti potenti per creare cicli di query personalizzati. Ad esempio, il codice seguente crea un ciclo che visualizza soltanto 3 articoli appartenenti alla categoria “news”:

<?php
$custom_query = new WP_Query( array(
    'category_name' => 'news',
    'posts_per_page' => 3
) );
if ( $custom_query->have_posts() ) {
    while ( $custom_query->have_posts() ) {
        $custom_query->the_post();
        // 输出文章内容
    }
}
wp_reset_postdata();
?>

Dopo l’uso, assicurarsi di chiamare la funzione corrispondente.wp_reset_postdata()Vieni a resettare i valori globali.$postVariabili: evitare che influenzino il ciclo principale o altre query.

L’integrazione delle funzionalità di personalizzazione dei temi dipende dall’API per la personalizzazione dei temi di WordPress. Attraverso di essa, è possibile fornire agli utenti un’interfaccia visiva per modificare colori, logo, layout e altre impostazioni del tema. Questo avviene principalmente…functions.phpUtilizzato nel file.add_action(‘customize_register’, $callback)Si utilizza un “gancio” (hook) per implementare questa funzionalità. All’interno della funzione di callback, è possibile utilizzare…WP_Customize_ManagerUtilizzare classi per aggiungere impostazioni, controlli e altre componenti.

hosting.com Hosting condiviso
Prestazioni elevate con CPU AMD EPYC, storage SSD NVMe e LiteSpeed, supporto interno di esperti 24 ore su 24, 7 giorni su 7, misure di sicurezza avanzate, tra cui SSL, brute force, malware e protezione DDoS, risparmi fino a 73%

Aggiunta di supporto per stili, script e menu.

Un tema WordPress moderno deve gestire correttamente i suoi file di stile (CSS) e i file JavaScript. Il modo corretto per farlo è…functions.phpI file vengono registrati e messi in coda per il caricamento, anziché essere utilizzati direttamente nei file di template o tramite tag. Questo viene fatto per garantire che le dipendenze tra i file siano corrette e per seguire le migliori pratiche di utilizzo di WordPress.

Le operazioni fondamentali per l’iscrizione e il caricamento dei risorse avvengono tramite…wp_enqueue_style()wp_enqueue_script()La funzione è stata completata. Queste operazioni dovrebbero essere montate (ovvero applicate o integrate) nel sistema.wp_enqueue_scriptsSu questo gancio… Ad esempio, per il tuo tema, puoi registrare un foglio di stile principale.

function my_theme_enqueue_assets() {
    // 加载主样式表
    wp_enqueue_style( 'my-theme-style', get_stylesheet_uri() );
    // 加载自定义JavaScript文件
    wp_enqueue_script( 'my-theme-script', get_template_directory_uri() . '/js/main.js', array('jquery'), null, true );
}
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_assets' );

In questo codice,get_stylesheet_uri()Quello che è stato ottenuto si trova nella directory principale del tema.style.css…eget_template_directory_uri()URI utilizzato per ottenere il catalogo dei temi. L’ultimo parametro dello script, “true”, indica che lo script verrà caricato in fondo alla pagina.

Si consiglia di leggere Iniziare a sviluppare un tema per WordPress: costruire il primo tema personalizzato partendo da zero

L’aggiunta del supporto per il menu di navigazione è una delle funzionalità di base di un tema. Questo processo richiede due passaggi: innanzitutto…functions.phpUtilizzare nel contestoregister_nav_menus()Quali posizioni del menu sono supportate per la dichiarazione delle funzioni, ad esempio “Menu principale” e “Menu del piede di pagina”? In seguito, nei file di template (come…)header.phpPer fare questo, è necessario utilizzare il comando "Add-on" nel menu principale.wp_nav_menu()Esiste una funzione per richiamare e visualizzare il menu in una posizione specifica. L’interfaccia “Aspetto” -> “Menu” presente nell’area di amministrazione di WordPress mostrerà automaticamente le opzioni corrispondenti.

Il design responsivo e l’ottimizzazione per dispositivi mobili sono ormai elementi essenziali nel design web moderno. Ciò significa che…style.cssÈ necessario includere le “Media Queries” per garantire che il tema venga visualizzato correttamente su schermi di dimensioni diverse. Un approccio comune è quello del “Mobile First”: si inizia scrivendo i codici di stile per i dispositivi mobili e, successivamente, si aggiungono gradualmente le modifiche necessarie per gli schermi più grandi tramite le Media Queries.

Hosting condiviso InterServer
Hosting condiviso $2,50 USD al mese, primo mese $0,1 USD codice promozionale tryinterserver, 461 script di applicazioni cloud, installazione con un clic.

Riassumendo

Sviluppare un tema per WordPress da zero rappresenta un processo di apprendimento sistematico che coinvolge conoscenze di base di PHP, HTML e CSS, nonché la comprensione dell’architettura fondamentale di WordPress. È fondamentale padroneggiare il suo sistema di templati modulare, gli hook per azioni e filtri, nonché i metodi standardizzati di caricamento delle risorse. Creando un tema personalizzato, non solo si sarà in grado di realizzare un sito web che soddisfi appieno le esigenze di design, ma si acquisirà anche una comprensione più profonda del funzionamento di WordPress, gettando le basi per lo sviluppo di plugin o funzionalità più complesse in futuro. Ricordate di eseguire sempre i test di sviluppo in ambiente locale o staging e di seguire gli standard di codifica ufficiali di WordPress.

FAQ - Domande frequenti

Per sviluppare temi per WordPress, è necessario conoscere bene PHP?
Sì, padroneggiare bene PHP è una condizione necessaria per sviluppare in modo approfondito temi per WordPress. Infatti, tutti i file di template e le funzioni di WordPress sono gestiti da PHP. È necessario conoscere almeno la grammatica di base di PHP, le funzioni, i cicli e i condizionali, nonché le nozioni di base sull’interazione con il database MySQL.

Il file di stile per un tema può essere soltanto “style.css”?

Sebbene le informazioni sui principali stili grafici debbano essere fornite obbligatoriamente…style.cssÈ dichiarato all’interno del titolo del commento, ma il codice CSS effettivo può essere suddiviso in più file. La pratica migliore è…style.cssNel codice originale, le informazioni relative ai temi e le note vengono mantenute soltanto per scopi di commento, mentre lo stile di base viene semplificato al massimo. Il codice relativo allo stile principale viene quindi spostato in altri file CSS (ad esempio, in un file separato).assets/css/main.cssE attraverso…wp_enqueue_style()La funzione viene caricata. Questo aiuta nell’organizzazione e nella manutenzione del codice.

Come posso far sì che il mio tema supporti la traduzione in più lingue?

Per rendere il tema compatibile con l’internazionalizzazione (i18n), è necessario utilizzare le funzioni di localizzazione fornite da WordPress. Nei file di template PHP, sostituisci tutti i testi da tradurre con i relativi valori in lingua estera.()_e()esc_html()Vengono utilizzate funzioni di “wrapping” per organizzare il testo. Successivamente, strumenti come Poedit vengono impiegati per analizzare questo testo e generare il risultato desiderato..potFile di template, da cui vengono creati contenuti per diverse lingue..po.moInfine,functions.phpUtilizzare nel contestoload_theme_textdomain()Funzione di caricamento delle librerie (function loading).

Perché la mia query personalizzata interferisce con le altre parti della pagina?

Questo problema si verifica solitamente a causa di un reset non corretto dei dati di ricerca. Quando utilizzi…new WP_Query()get_posts()Dopo aver eseguito una query personalizzata, i risultati vengono applicati a livello globale.$postLe variabili verranno modificate. Per evitare interferenze con il ciclo principale o con le query successive, è necessario eseguire l’operazione di modifica immediatamente dopo la conclusione del ciclo personalizzato.wp_reset_postdata()Funzione: Questa funzione modificherà i valori globali.$postL’oggetto viene ripristinato all’articolo presente nell’attuale query principale.