Guida completa allo sviluppo di temi WordPress: creare un sito web professionale da zero.

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

Configurazione dell’ambiente di sviluppo per temi WordPress

Per sviluppare un tema professionale per WordPress, è necessario prima di tutto disporre di un ambiente di sviluppo locale stabile ed efficiente. Questo permette di scrivere codice, eseguire debug e effettuare test senza influenzare in alcun modo il sito web online. Per i principianti, si consiglia l’uso di software per server locali integrati, come Local by Flywheel, MAMP o XAMPP. Questi strumenti consentono di installare in un solo clic PHP, MySQL e il server web, semplificando notevolmente il processo di configurazione dell’ambiente di sviluppo.

La struttura tipica di un progetto di sviluppo di temi inizia dalla creazione di una nuova cartella. Questa cartella deve essere posizionata all’interno della directory di installazione di WordPress.wp-content/themesAll’interno della cartella. In questa nuova cartella tematica, ci sono due file essenziali:style.cssindex.phpTra questi,style.cssNon solo funge da foglio di stile, ma svolge anche il ruolo di “carta d’identità” del tema. Il blocco di commenti presente all’inizio del file viene utilizzato per comunicare a WordPress le informazioni di base sul tema stesso.

Ecco una versione molto basilare di…style.cssEsempio di intestazione di un file:

Si consiglia di leggere Dall'inizio alla fine: una guida pratica allo sviluppo di un tema WordPress dall'inizio alla fine.

/*
Theme Name: My Professional Theme
Theme URI: https://example.com/my-theme
Author: Your Name
Author URI: https://example.com
Description: 这是一个用于学习的专业WordPress主题。
Version: 1.0.0
License: GPL v2 or later
Text Domain: my-professional-theme
*/

Text DomainQuesto file è utilizzato per l’internazionalizzazione e rappresenta un elemento chiave per la successiva traduzione dei testi. Una volta creato, il tuo tema sarà disponibile nell’area di configurazione di WordPress, all’interno della sezione “Aspetto” -> “Temi”; tuttavia, al momento, si tratta soltanto di una struttura vuota (senza contenuti).

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).

Per migliorare l’efficienza dello sviluppo e la qualità del codice, si consiglia di installare estensioni appropriate nei editor di codice (come VS Code o PhpStorm), come quelle che forniscono funzionalità di intelligenza per il PHP o suggerimenti di frammenti di codice per WordPress. Inoltre, è fondamentale attivare il modalità di debug. È necessario farlo per il sito in questione.wp-config.phpAggiungi o modifica le seguenti costanti nel file:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

Con questa configurazione, gli errori e gli avvisi di PHP verranno registrati in…wp-content/debug.logNel file, evitare che le informazioni di errore vengano visualizzate direttamente agli utenti, per facilitare il lavoro degli sviluppatori nel risolvere i problemi.

Struttura dei file principali del tema e livelli delle template

Comprendere la struttura dei file e il funzionamento dei temi di WordPress è fondamentale per lo sviluppo. WordPress utilizza un sistema di gerarchia dei template (Template Hierarchy) per determinare quale file di template utilizzare per visualizzare il contenuto in base alle richieste delle pagine. Si tratta di un meccanismo di ricerca “dall’alto verso il basso”: il sistema cerca i template corrispondenti seguendo un ordine preciso dei nomi dei file.

Il file di template più basilare è…index.phpÈ il modello di ritorno finale per tutte le pagine. Un tema professionale tipico include i seguenti file di modelli chiave:
* header.phpLa parte superiore del sito web (header) di solito contiene:<head>Area, identificativo del sito web e navigazione principale.
* footer.phpIn fondo al sito web, di solito si trovano informazioni sul copyright, link utili e richiami a script (script calls).
* sidebar.phpArea per i componenti della barra laterale.
* functions.phpIl “centro funzionali” del tema è utilizzato per aggiungere nuove funzionalità, creare menu di registrazione, configurare barre laterali, nonché importare file di stile e script.
* style.cssFile di stile principale.
* page.phpUtilizzato per visualizzare una singola pagina.
* single.phpUtilizzato per visualizzare un singolo articolo di blog.
* archive.phpUtilizzato per visualizzare le informazioni relative alle categorie degli articoli, alle etichette, agli autori e ad altre pagine di archiviazione.
* front-page.phpUtilizzato per personalizzare la pagina iniziale del sito web.
* home.phpUtilizzato per visualizzare l’indice degli articoli del blog (quando la pagina iniziale è impostata come una pagina statica).

Si consiglia di leggere Imparare dall'inizio lo sviluppo di temi WordPress: una guida essenziale per creare siti web personalizzati.

Nel file del template, utilizziamo una serie di funzioni di base di WordPress per assemblare la pagina. Ad esempio, in…header.phpIn cinese, usarewp_head()Gli “hook” (ganci) permettono a WordPress e ai suoi plugin di generare i meta-tag e i script necessari.footer.phpIn cinese, usarewp_footer()Gancio… Sì.index.phpsingle.phpNel codice, viene utilizzato un ciclo (The Loop) per visualizzare il contenuto dell’articolo.

Ecco una versione semplificata:index.phpEsempio che mostra come introdurre la parte iniziale del codice (“header”), la parte finale (“footer”) e i cicli di esecuzione:

<p><strong>Questo è un testo di esempio.</strong></p>

<main id="primary" class="site-main">
    &lt;?php
    if ( have_posts() ) :
        while ( have_posts() ) :
            the_post();
            // 为每篇文章输出内容,例如:
            // the_title(&#039;<h2>', '</h2>');
            // the_content();
        endwhile;
    else :
        echo '<p>没有找到任何文章。</p>';
    endif;
    ?&gt;
</main>

Combinando in modo flessibile questi file di template e utilizzando le regole di gerarchia dei template, è possibile creare layout e design completamente diversi per le varie parti del sito web.

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%

Aggiungere funzionalità e stili al tema.

functions.phpI file rappresentano l“”motore trainante” dei temi (temi in questo contesto). Tutti i codici utilizzati per migliorare le funzionalità di un tema dovrebbero essere inseriti qui. Prima di tutto, dobbiamo…add_theme_support()Le funzioni vengono utilizzate per dichiarare le funzionalità principali supportate da un tema. Questa è la prassi standard nello sviluppo di temi per WordPress moderno.

Abilita le immagini di carattere speciale per gli articoli e il menu.

Nel file delle funzionalità, iniziamo attivando alcune funzionalità di uso comune. Ad esempio, abilitiamo il supporto per l’aggiunta di “immagini di rilievo” ( miniature) agli articoli e registriamo le posizioni dei menu di navigazione per i temi.

Il codice corrispondente è il seguente:

Si consiglia di leggere Comprendere gli hook personalizzati di WooCommerce: una guida completa dall'introduzione all'applicazione avanzata.

function my_theme_setup() {
    // 添加文章和页面的特色图像支持
    add_theme_support('post-thumbnails');

// 注册一个主导航菜单
    register_nav_menus( array(
        'primary' => __('主菜单', 'my-professional-theme'),
    ) );

// 添加HTML5标记支持
    add_theme_support('html5', array('search-form', 'comment-form', 'comment-list', 'gallery', 'caption'));

// 添加标题标签支持
    add_theme_support('title-tag');
}
add_action('after_setup_theme', 'my_theme_setup');

after_setup_themeSi tratta di un “hook” (un meccanismo di interazione programmata) che garantisce che la nostra funzione di configurazione venga eseguita correttamente al momento dell’inizializzazione del tema.

Registrazione dell’area della barra laterale per gli strumenti aggiuntivi

I widget sono moduli essenziali per una disposizione flessibile del contenuto in WordPress. Dobbiamo…functions.phpRegistra l’area della barra laterale o del piede di pagina che ospita gli strumenti utilizzati nell’applicazione.

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.

Il codice corrispondente è il seguente:

function my_theme_widgets_init() {
    register_sidebar( array(
        'name'          =&gt; __('主侧边栏', 'my-professional-theme'),
        'id'            =&gt; 'sidebar-1',
        'description'   =&gt; __('在此添加小工具以显示在主侧边栏。', 'my-professional-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', 'my_theme_widgets_init');

Dopo l’iscrizione, gli utenti potranno trascinare gli strumenti (widget) nella relativa area all’interno della sezione “Aspetto” -> “Widget” presente nell’interfaccia di amministrazione. Nella template, è necessario utilizzare…dynamic_sidebar('sidebar-1')La funzione viene utilizzata per effettuare la chiamata e visualizzare il risultato.

Introdurre correttamente i fogli di stile e gli script.

Inserire i file CSS e JavaScript nell’ordine consigliato da WordPress per il loro caricamento è la migliore pratica per garantire compatibilità e prestazioni. È assolutamente da evitare l’uso diretto di tali file all’interno dei file di template.<link><script>Etichette codificate in modo statico (hard-coded).

Il codice corrispondente è il seguente:

function my_theme_scripts() {
    // 引入主样式表
    wp_enqueue_style('my-theme-style', get_stylesheet_uri(), array(), wp_get_theme()->get('Version'));

// 引入自定义JavaScript文件
    wp_enqueue_script('my-theme-navigation', get_template_directory_uri() . '/js/navigation.js', array(), wp_get_theme()->get('Version'), true);

// 如果需要引入jQuery(WordPress默认已加载),可以作为依赖
    // wp_enqueue_script('my-theme-custom', get_template_directory_uri() . '/js/custom.js', array('jquery'), '1.0.0', true);
}
add_action('wp_enqueue_scripts', 'my_theme_scripts');

Usareget_stylesheet_uri()get_template_directory_uri()La funzione può ottenere dinamicamente l’URL del catalogo tematico, assicurando che il percorso sia corretto. L’ultimo parametro…trueIndica che lo script deve essere posizionato in fondo alla pagina.<p>Io non sono un'attrice.</p>Caricare i contenuti prima dell’apertura della pagina migliora le prestazioni di caricamento dello stesso.

Realizzare un design responsivo e funzionalità personalizzate.

I siti web moderni devono essere ben visualizzabili su tutti i dispositivi. Per realizzare un design responsivo, si fa affidamento principalmente sui cosiddetti “Media Queries” presenti nel CSS.style.cssVengono definite regole di stile diverse per diverse larghezze di schermo. Di solito, adottiamo una strategia “mobile first”, ovvero creiamo prima lo stile di base per i dispositivi mobili e poi…min-widthLe query dei media migliorano gradualmente lo stile visualizzato sugli schermi più grandi.

Oltre alla disposizione del layout in modo da adattarsi a diversi dispositivi (responsiveness), lo sviluppo di funzionalità personalizzate rappresenta il fattore chiave che distingue i temi “ordinari” da quelli “professionali”. Questo processo solitamente prevede la creazione di tipi di post personalizzati (Custom Post Types) e di sistemi di classificazione personalizzati (Custom Taxonomies) per soddisfare le esigenze di contenuti specifici, come prodotti, portfolio, membri del team, ecc.

Creare un tipo di articolo personalizzato

Possiamo utilizzare…register_post_type()Esistono funzioni per creare nuovi tipi di contenuto, ad esempio un “album di opere” (un insieme di lavori creativi).

Il codice corrispondente è il seguente:

function my_theme_register_portfolio_post_type() {
    $labels = array(
        'name' => _x('作品集', '作品集通用名称', 'my-professional-theme'),
        'singular_name' => _x('作品', '作品单数名称', 'my-professional-theme'),
        'menu_name' => __('作品集', 'my-professional-theme'),
        // ... 其他标签
    );
    $args = array(
        'labels' => $labels,
        'public' => true,
        'has_archive' => true,
        'menu_icon' => 'dashicons-portfolio',
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt'),
        'rewrite' => array('slug' => 'portfolio'),
    );
    register_post_type('portfolio', $args);
}
add_action('init', 'my_theme_register_portfolio_post_type');

Dopo l’esecuzione, verrà aggiunto un nuovo menu “Galleria di opere” nel backend, che ti permetterà di gestire i progetti artistici in modo simile a come gestisci gli articoli. Potrai anche crearne di nuovi.archive-portfolio.phpsingle-portfolio.phpQuesto elemento è stato creato appositamente per gestire l’visualizzazione delle pagine di archiviazione e delle pagine di dettagli di questo tipo personalizzato.

Un’altra funzionalità avanzata è l’aggiunta di opzioni personalizzabili per il tema. Per modifiche di piccola entità, è possibile utilizzare l“”API del Personalizzatore” (Customizer API) fornita da WordPress per impostare semplici elementi come i colori o il caricamento del logo. Per pannelli di configurazione più complessi, molti sviluppatori preferiscono utilizzare plugin per campi avanzati (come Advanced Custom Fields) o integrare framework di configurazione leggeri; ciò permette di aumentare notevolmente la flessibilità offerta agli utenti nel personalizzare il tema, senza la necessità di modificare il codice sorgente.

Riassumendo

Lo sviluppo di temi per WordPress è un processo che combina design, tecnologie front-end e logica back-end basata su PHP. Inizia dalla creazione di un ambiente locale e dalla comprensione della struttura dei template, per poi proseguire con la configurazione e l’implementazione delle funzionalità desiderate nel sito web.functions.phpAggiungere funzionalità e risorse in modo equilibrato e graduale rappresenta la base per costruire un sito web professionale stabile, facile da mantenere e user-friendly. Acquisire la capacità di creare file di template personalizzati, di implementare design responsivi e di estendere i tipi di contenuto personalizzati farà sì che il tuo tema emerga tra le tante opzioni disponibili. Ricorda di seguire sempre gli standard di codifica di WordPress e le migliori pratiche: questo non solo garantisce la qualità del tuo tema, ma facilita anche la compatibilità con altri plugin e le future versioni del core di WordPress.

FAQ - Domande frequenti

Per sviluppare temi per WordPress, è necessario conoscere quali linguaggi di programmazione utilizzare. I principali linguaggi richiesti sono:

Per sviluppare un tema WordPress completo, è necessario padroneggiare HTML, CSS, PHP e i fondamenti di JavaScript. HTML viene utilizzato per costruire la struttura delle pagine, CSS per la progettazione degli stili e l’implementazione di layout responsivi, PHP è il linguaggio di base di WordPress e viene utilizzato per gestire la logica, richiamare i dati e generare pagine dinamiche, mentre JavaScript permette di aggiungere effetti interattivi e funzionalità dinamiche alle pagine.

Qual è la differenza tra il file functions.php del tema e i plugin?

functions.phpI file fanno parte del tema e le loro funzionalità sono strettamente legate a esso. Quando si cambia tema, il codice contenuto in tali file non sarà più efficace. Vengono solitamente utilizzati per aggiungere caratteristiche strettamente correlate all’aspetto e alle funzionalità del tema, come il menu di registrazione, la barra laterale, o il supporto per l’aggiunta di nuovi temi.
I plugin sono moduli funzionali indipendenti dai temi (design estetici degli siti web), progettati per fornire funzionalità specifiche che possano essere utilizzate in modo coerente indipendentemente dal tema scelto dall’utente. Se una funzionalità non è legata all’aspetto visivo di un tema e si desidera che rimanga disponibile anche dopo il cambio di tema, svilupparla come plugin rappresenta la scelta più appropriata.

Come posso rendere il mio tema compatibile con più lingue (internazionalizzazione)?

Per rendere un tema compatibile con più lingue, ovvero per implementare la funzionalità di internazionalizzazione (i18n), è fondamentale utilizzare le funzioni di traduzione fornite da WordPress. Nel codice, tutte le stringhe di testo che devono essere tradotte devono essere racchiuse all’interno di funzioni specifiche.()Utilizzato per visualizzare i risultati della traduzione in PHP._e()Utilizzato per l’output diretto della traduzione.esc_html()Utilizzato per l’escapamento sicuro dei caratteri, tra le altre cose.
Innanzitutto, è necessario utilizzare queste funzioni per tutti i testi visibili agli utenti, assicurandosi che vengano applicate correttamente in ogni parte del sito.style.cssÈ stato impostato correttamente.Text DomainPoi, utilizzare uno strumento come Poedit per analizzare i file dei temi e generare il contenuto necessario..potTraduci il file di template: in base a esso, il traduttore potrà creare i contenuti per la lingua desiderata (ad esempio…).zh_CN.poIl file di traduzione per…) deve essere compilato infine in….moFile: Posizionare il file `.mo` all’interno della cartella del tema./languagesAll’interno della directory, quando le impostazioni di lingua del sito WordPress dell’utente corrispondono a quelle desiderate, il tema visualizza automaticamente le traduzioni relative.

Una volta completato lo sviluppo del mio tema, come posso pubblicarlo nel catalogo ufficiale di temi di WordPress?

Per pubblicare un tema nel catalogo ufficiale di WordPress.org, è necessario prima creare un account su WordPress.org e successivamente inviare il proprio tema sul sito del Team di Revisione dei Temi (Theme Review Team) affinché venga esaminato. Il processo di revisione è molto rigoroso: i temi devono seguire rigorosamente gli standard di codifica ufficiali, le norme di sicurezza, le linee guida sull’accessibilità e gli accordi di licenza (deve trattarsi di una licenza GPLv2 o di una versione più recente).
Prima di inviare il tuo tema, assicurati di leggere attentamente il manuale ufficiale per lo sviluppo di temi e i requisiti di revisione, e di effettuare un controllo approfondito per verificare che non venga utilizzato alcun codice o risorsa non autorizzata, e che tutte le funzionalità siano in conformità con le specifiche stabilite. Una volta superata la revisione, il tuo tema potrà essere cercato, installato e utilizzato dagli utenti in tutto il mondo.