Guida completa allo sviluppo di temi per WordPress: dal principiante all’esperto, con tutorial pratici

Leggere in 3 minuti.
2026-03-17
2026-06-04
1,974
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

Per iniziare a sviluppare temi per WordPress, è necessario prima comprendere la sua struttura di base. Un tema minimale richiede almeno due file:style.cssindex.phpTra questi,style.cssNon solo i file di stile (style sheets), ma anche i file che contengono le informazioni metadati del tema (come il nome del tema, l’autore, la descrizione, ecc.) sono fondamentali per il funzionamento corretto di WordPress. Queste informazioni vengono definite all’interno di blocchi di commenti CSS e rappresentano la chiave per che WordPress riconosca e gestisca correttamente il tema installato.

Creare un ambiente di sviluppo locale

Prima di iniziare a scrivere il codice, è fondamentale creare un ambiente di sviluppo locale efficiente. Si consiglia l’uso di pacchetti software che integrano Apache/Nginx, PHP e MySQL, come Local by Flywheel, XAMPP o MAMP. Questi strumenti permettono di configurare facilmente un ambiente server locale in un solo clic, simulando le condizioni di esecuzione in rete. Inoltre, è opportuno installare un editor di codice come Visual Studio Code oPhpStorm, che offrono funzionalità avanzate di evidenziazione del codice e suggerimenti per PHP, HTML, CSS e JavaScript.

Una volta che l’ambiente di sviluppo è pronto, è necessario procedere con le seguenti operazioni nel directory di installazione di WordPress:wp-content/themesCrea una cartella all’interno della cartella principale per contenere i tuoi temi. Ad esempio, crea una cartella chiamata…my-first-themeIl catalogo, e poi all’interno di quel catalogo creare i file necessari.style.cssDocumenti.

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

Scrivere le informazioni per la parte superiore del tema (header del tema).

style.cssLe note presenti all’inizio di un file rappresentano la “carta d’identità” del suo contenuto. Ecco un esempio di informazioni di base presenti nella parte iniziale di un file:

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).
/*
Theme Name: My First Theme
Theme URI: https://example.com/my-first-theme/
Author: Your Name
Author URI: https://example.com/
Description: 这是一个用于学习的自定义WordPress主题。
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: my-first-theme
*/

Tra questi,Text DomainUtilizzato per l’internazionalizzazione (i18n); consente di utilizzare successivamente le funzioni di traduzione.__()_e()Questo è un identificatore obbligatorio da utilizzare in determinati contesti. Dopo aver creato questo file, il tuo tema apparirà nell’elenco “Aspetti” -> “Temi” nell’interfaccia di amministrazione di WordPress, anche se al momento non dispone di alcuna funzionalità.

File di template principali e gerarchia dei template

WordPress utilizza un sistema di gerarchia dei template per determinare come visualizzare i diversi tipi di contenuti. Comprendere questa struttura gerarchica è fondamentale per lo sviluppo di temi flessibili. Quando un utente accede a una pagina, WordPress cerca il file del template corrispondente seguendo un ordine di priorità prestabilito.

Comprendere la struttura gerarchica dei template

Ad esempio, quando si visita un articolo di un blog (un singolo post), WordPress cerca in sequenza:single-post-{post-id}.php -> single-post-{post-type}.php -> single.php -> singular.php -> index.phpGli sviluppatori devono semplicemente creare i file di template necessari, e WordPress li invocherà automaticamente in base a quello che corrisponde meglio alle esigenze dell’utente.

Creare un file di template di base

Oltre a…index.phpUn tema completo e funzionale include solitamente i seguenti file di template principali:
* header.phpLa parte superiore del sito web (header) contiene:<head>Titoli di aree e siti, menu di navigazione.
* footer.phpLa parte inferiore della pagina del sito web contiene informazioni sul copyright, nonché altri dettagli relativi alla gestione del sito stesso.
* sidebar.phpArea degli strumenti nella barra laterale.
* functions.phpIl file funzionale del tema è utilizzato per aggiungere funzionalità, registrare menu, strumenti aggiuntivi (widget) e altro ancora.
* style.cssIl file che contiene lo stile principale del sito.
* page.phpUtilizzato per visualizzare pagine statiche.
* single.phpUtilizzato per visualizzare un singolo articolo di blog.
* archive.phpUtilizzato per visualizzare l’elenco degli archivi degli articoli (ad esempio, categorie, tag, pagine degli autori).

Si consiglia di leggere Guida completa allo sviluppo di temi per WordPress: un tutorial pratico per creare temi personalizzati da zero.

Attraverso le etichette dei template, è possibile inserire altri contenuti all’interno di vari file di template. Ad esempio,index.phpInserire la parte della testa (header) in cima alla pagina.<?php get_header(); ?>Questa funzione caricherà automaticamente i contenuti necessari.header.phpDocumenti.

Le funzionalità tematiche sono integrate con il nucleo di WordPress.

functions.phpIl file in questione rappresenta il “cervello” del tema: consente di espandere le funzionalità del tema stesso e di integrarlo in modo profondo con il nucleo di WordPress, senza dover modificare i file principali del sistema. Questo file viene caricato automaticamente all’attivazione del tema.

Funzionalità supportate dall’iscrizione a un argomento (topic):

Usareadd_theme_support()Le funzioni possono indicare quali funzionalità di WordPress il tuo tema supporta. Questo dovrebbe essere specificato…after_setup_themeL’operazione viene eseguita all’interno dei “action hooks” (ganci di azione). Ad esempio, il codice per abilitare l’immagine di carattere distintivo dell’articolo e il logo personalizzato è il seguente:

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%
function mytheme_setup() {
    // 支持文章特色图像
    add_theme_support( 'post-thumbnails' );
    // 支持自定义Logo
    add_theme_support( 'custom-logo', array(
        'height'      => 100,
        'width'       => 400,
        'flex-height' => true,
        'flex-width'  => true,
    ) );
    // 支持HTML5标记(用于评论列表、搜索表单等)
    add_theme_support( 'html5', array( 'comment-list', 'comment-form', 'search-form', 'gallery', 'caption', 'style', 'script' ) );
}
add_action( 'after_setup_theme', 'mytheme_setup' );

Registra il menu di navigazione e l'area dei widget.

Il menu di navigazione e gli strumenti aggiuntivi rappresentano componenti fondamentali per l’interazione tra il tema e l’utente. È necessario prima…functions.phpÈ necessario registrarle in un database o in un sistema appropriato per poterle successivamente utilizzare all’interno dei modelli (template).

Usareregister_nav_menus()Posizione per l’ registrazione delle funzioni:

function mytheme_register_menus() {
    register_nav_menus( array(
        'primary' => __( '主导航菜单', 'my-first-theme' ),
        'footer'  => __( '页脚菜单', 'my-first-theme' ),
    ) );
}
add_action( 'init', 'mytheme_register_menus' );

Dopo l’iscrizione, gli utenti possono gestire i menu per queste posizioni nella sezione “Aspetto” -> “Menù” dell’interfaccia amministrativa. All’interno dei template…header.php(), utilizzandowp_nav_menu()Una funzione per visualizzare il menu.

Si consiglia di leggere Imparare dall'inizio lo sviluppo di temi WordPress: creare un sito web personalizzato.

Usareregister_sidebar()Area per la registrazione delle funzioni:

function mytheme_widgets_init() {
    register_sidebar( array(
        'name'          =&gt; __( '主侧边栏', 'my-first-theme' ),
        'id'            =&gt; 'sidebar-1',
        'description'   =&gt; __( '在此添加小工具。', 'my-first-theme' ),
        'before_widget' =&gt; '<section id="%1$s" class="widget %2$s">',
        'after_widget'  =&gt; '</section>',
        'before_title'  =&gt; '<h2 class="widget-title">',
        'after_title'   =&gt; '</h2>',
    ) );
}
add_action( 'widgets_init', 'mytheme_widgets_init' );

Nel template (ad esempio…)sidebar.php(), utilizzandodynamic_sidebar( 'sidebar-1' )Per visualizzare questa area degli strumenti aggiuntivi.

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.

Gestione degli stili, degli script e personalizzazione dei temi

Lo sviluppo di temi per WordPress moderno richiede una gestione standardizzata dei file di stile (CSS) e dei script (JavaScript), nonché un utilizzo efficace dell’API del Personalizzatore (Customizer) di WordPress, al fine di fornire agli utenti opzioni di configurazione con anteprima in tempo reale.

Introdurre correttamente CSS e JavaScript

Non usare mai direttamente i file dei template.<link><script>I risorse vengono codificate in modo statico (hard-coded) all’interno delle etichette. È consigliabile utilizzare questo approccio quando…wp_enqueue_style()wp_enqueue_script()Funzione, tramite…wp_enqueue_scriptsGli “hook” vengono utilizzati per effettuare il caricamento dei componenti necessari. Questo garantisce che le dipendenze siano soddisfatte correttamente e evita il caricamento ripetuto dei medesimi elementi.

function mytheme_scripts() {
    // 引入主样式表
    wp_enqueue_style( 'mytheme-style', get_stylesheet_uri(), array(), '1.0.0' );
    // 引入Google Fonts
    wp_enqueue_style( 'mytheme-google-fonts', 'https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap', array(), null );
    // 引入主JavaScript文件,依赖jQuery,并在页脚加载
    wp_enqueue_script( 'mytheme-navigation', get_template_directory_uri() . '/js/navigation.js', array( 'jquery' ), '1.0.0', true );
}
add_action( 'wp_enqueue_scripts', 'mytheme_scripts' );

Integrazione con i plugin personalizzati per WordPress

Il personalizzatore consente agli utenti di modificare in tempo reale le opzioni del tema, come i colori, il logo e il testo del titolo della pagina. Puoi utilizzarlo per personalizzare l’aspetto del sito secondo le tue preferenze.WP_Customize_ManagerGli oggetti vengono utilizzati per aggiungere impostazioni, controlli e aree di visualizzazione.

Ecco un semplice esempio di come aggiungere opzioni di personalizzazione per il testo del piede di pagina:

function mytheme_customize_register( $wp_customize ) {
    // 添加一个“页脚设置”区域
    $wp_customize->add_section( 'mytheme_footer_options', array(
        'title'    => __( '页脚设置', 'my-first-theme' ),
        'priority' => 160,
    ) );

// 添加一个“页脚版权文本”设置
    $wp_customize->add_setting( 'mytheme_footer_copyright', array(
        'default'           => __( '© 2026 我的网站。保留所有权利。', 'my-first-theme' ),
        'sanitize_callback' => 'sanitize_text_field', // 数据清理回调函数
        'transport'         => 'refresh', // 或 ‘postMessage’ 用于无需刷新的实时预览
    ) );

// 为这个设置添加一个文本输入控件
    $wp_customize->add_control( 'mytheme_footer_copyright', array(
        'label'    => __( '页脚版权文本', 'my-first-theme' ),
        'section'  => 'mytheme_footer_options',
        'type'     => 'text',
    ) );
}
add_action( 'customize_register', 'mytheme_customize_register' );

footer.phpNel template, puoi utilizzare…get_theme_mod()Esiste una funzione per ottenere e visualizzare questo valore:<?php echo get_theme_mod( 'mytheme_footer_copyright' ); ?>

Riassumendo

Lo sviluppo di temi per WordPress rappresenta un processo sistematico che inizia dalla comprensione dei file di template di base e della struttura gerarchica del sistema, per poi proseguire attraverso…functions.phpIntegrare le funzionalità principali, gestire in modo standardizzato i script relativi alle risorse e utilizzare strumenti personalizzabili per creare interfacce di configurazione user-friendly rappresenta un passo fondamentale nella realizzazione di temi per WordPress. Seguendo gli standard di codifica e le migliori pratiche di WordPress, si garantisce non solo la stabilità e la sicurezza del tema, ma anche facilità nella manutenzione e nella compatibilità con altri plugin. Acquisendo queste competenze essenziali, si è già in grado di creare temi professionali, personalizzabili e in linea con gli standard web moderni, partendo da zero.

FAQ - Domande frequenti

Per sviluppare temi per WordPress, è necessario padroneggiare alcune lingue di programmazione fondamentali. Tra queste figurano:

Per sviluppare temi per WordPress è necessario padroneggiare quattro tecnologie fondamentali: PHP, HTML, CSS e JavaScript. PHP rappresenta il cuore del sistema, poiché viene utilizzato per elaborare i dati dinamici e gestire la logica del sito. HTML è responsabile della struttura delle pagine web, mentre CSS si occupa degli stili e dell’impaginazione. JavaScript, infine, permette di creare effetti interattivi sul lato client. Inoltre, una conoscenza di base di SQL è utile per comprendere come i dati vengono recuperati e utilizzati nel sito.

Come posso far sì che il mio tema sia conforme agli standard di revisione ufficiali di WordPress?

Per far sì che un tema soddisfi gli standard di revisione del catalogo di temi di WordPress.org, è necessario rispettare rigorosamente la guida allo sviluppo di temi. I punti fondamentali includono: il codice deve essere sicuro (tutti gli output dinamici devono essere escapati o puliti), il rispetto delle gerarchie dei template, l’uso corretto delle funzioni di hook, il supporto per l’accessibilità (WCAG), la garanzia di un design responsive, l’evitamento dell’uso di funzioni obsolete, e la disponibilità di un completo supporto all’internazionalizzazione.

Cos’è un “Child Theme” (Sottotema) e perché dovrei usarlo?

Un sottotema è un tema indipendente che dipende da un tema principale; eredita tutte le funzionalità, gli stili e i file di template del tema principale. Il vantaggio principale dell’utilizzo dei sottotemi è che, quando il tema principale viene aggiornato, le modifiche personalizzate apportate nel sottotema (ad esempio, sovrascrivere gli stili o sostituire i file di template) non vengono perse. Questo rappresenta il metodo più sicuro e consigliato per personalizzare o aggiornare qualsiasi tema esistente.

Quali funzioni si dovrebbero utilizzare all’interno di un tema per ottenere il percorso del file del tema o il suo URL?

È necessario utilizzare le funzioni di path fornite da WordPress per garantire l’accuratezza dei percorsi.get_template_directory_uri()URL utilizzato per ottenere il percorso del directory del tema padre (ad esempio, l’indirizzo dei file CSS/JS).get_stylesheet_directory_uri()URL utilizzato per ottenere il catalogo del tema attivo (o, in caso di essere un sottotema, del sottotema) in corso.get_template_directory()get_stylesheet_directory()Utilizzato per ottenere il percorso fisico sul server.