Impara le tecniche essenziali: crea il tuo primo tema per WordPress da zero.

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

Preparazione dell’ambiente di sviluppo e dei file di base

Prima di iniziare a scrivere il codice, è fondamentale creare un ambiente di sviluppo locale stabile. Questo ti permetterà di effettuare test senza influenzare il sito web online. Si consiglia l’uso di strumenti come Local by Flywheel, XAMPP o MAMP per configurare rapidamente un ambiente server locale che includa PHP e MySQL.

Successivamente, dovrai recarti nella directory di installazione di WordPress. wp-content/themes All’interno della cartella, crea una nuova cartella per il tuo argomento; ad esempio, chiamala “MyProject”. my-first-themeQuesta cartella rappresenta il directory principale del tuo progetto (il “root directory” del tuo tema). Successivamente, devi creare due file fondamentali e indispensabili:style.cssindex.php

style.css Il file non contiene soltanto i tuoi stili grafici (i “tema stylesheets”), ma è anche molto importante perché include una parte iniziale (il “Theme Header”) che contiene informazioni sul tema, scritte utilizzando i commenti CSS. Questa parte iniziale rappresenta l’unico elemento che permette a WordPress di riconoscere il tuo tema.

Si consiglia di leggere Dallo zero all’uno: Guida completa al processo di sviluppo di temi per WordPress e tecniche pratiche

/*
Theme Name: 我的第一个主题
Theme URI: http://example.com/my-first-theme/
Author: 你的名字
Author URI: http://example.com/
Description: 这是一个从零开始创建的 WordPress 主题示例。
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: my-first-theme
*/

index.php Questo è il file del modello principale del tuo tema e rappresenta anche l’ultima risorsa a cui WordPress ricorre quando cerca i modelli da utilizzare. Dovrebbe contenere almeno le chiamate ai componenti fondamentali di WordPress, in modo da generare la parte superiore della pagina (header), il contenuto principale e la parte inferiore della pagina (footer).

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).
<!DOCTYPE html>
<html no numeric noise key 1005>
<head>
    <meta charset="<?php bloginfo( 'charset' ); ?>">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <p><strong>Questo è un testo di prova</strong></p>
</head>
<body no numeric noise key 1002>
    
</body>
</html>

Comprendere i livelli di strutturazione dei modelli tematici

Prima di creare altri file di template, è fondamentale comprendere la gerarchia dei template in WordPress. Questa gerarchia determina quale file di template WordPress utilizzi per rendere i diversi tipi di pagine (come la pagina iniziale, le pagine di articoli, le pagine personali, le pagine di categoria). Ad esempio, quando si accede a un singolo articolo, WordPress cerca in sequenza i file di template appropriati.single-post-{slug}.php -> single-post-{id}.php -> single.php -> singular.php -> index.phpRivolgendoti a questa regola, sarai in grado di creare file specifici (ad esempio…) single.phppage.phpPer controllare con precisione l’aspetto delle diverse pagine.

Costruire il modello di base per un tema

Un tema completo non dovrebbe contenere soltanto un elemento. index.phpPer ottenere un migliore organizzazione del codice e una maggiore possibilità di riutilizzo, dobbiamo dividere la pagina in più parti e introdurre ciascuna di queste parti tramite funzioni.

Separare la parte superiore (header) dalla parte inferiore della pagina (footer).

Creare header.php Il file contiene la parte iniziale del documento HTML (DOCTYPE, …)., <head> Alcune parti, nonché l’inizio del corpo principale della pagina (ad esempio, il titolo del sito web e il menu principale). Di conseguenza, è necessario creare… footer.php File utilizzati per contenere i dati presenti nella parte inferiore della pagina (ad esempio, informazioni sul copyright) nonché le etichette di chiusura (tag di chiusura).

In seguito, index.php In questo caso, puoi utilizzarlo. get_header()get_footer() Utilizzare funzioni per introdurre tali elementi rende la struttura più chiara e comprensibile.

Si consiglia di leggere Guida completa per principianti nel sviluppo di temi per WordPress: costruisci il tuo primo tema da zero.

Creare un template per la barra laterale

Se il tema richiede una barra laterale, è possibile crearla. sidebar.php File: utilizzato all’interno di… dynamic_sidebar() Una funzione per richiamare la barra laterale registrata nell’area degli strumenti aggiuntivi. Da utilizzare nel modello principale. get_sidebar() Utilizzate una funzione per introdurlo.

Implementare il ciclo degli articoli e i modelli di contenuto

Il ciclo degli articoli rappresenta il “cuore” di un tema WordPress: serve per recuperare gli articoli dal database e visualizzarli. index.phpsingle.php Nel codice utilizzato, si impiegano strutture di ciclo standard. Per controllare in modo più modulare la visualizzazione degli articoli all’interno di liste (ad esempio, la pagina iniziale o la pagina degli archivi) e sulla pagina di un singolo articolo, è possibile creare delle componenti o dei moduli dedicati a questo scopo. content.php Oppure creare ciascuno separatamente. content-single.phpcontent-excerpt.php

All’interno del ciclo, utilizzare… get_template_part() Esistono funzioni per richiamare questi file di template contenenti i contenuti da visualizzare, ad esempio:get_template_part( 'content', get_post_format() );

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%

Integrazione delle funzionalità tematiche con gli stili grafici

Un tema eccellente non deve solo avere un aspetto attraente, ma deve anche potenziare le proprie funzionalità grazie ai file di configurazione (o file di funzionalità, per intenderci).

Introduzione del file di funzionalità per la gestione dei temi

Creare functions.php Questo file non è un file di template, ma rappresenta il “cuore” di un tema: viene utilizzato per aggiungere funzionalità specifiche del tema, creare menu di registrazione, barre laterali, nonché per includere script e stili grafici. Viene caricato automaticamente da WordPress al momento dell’inizializzazione del tema stesso.

In questo file, puoi utilizzare… add_theme_support() Funzioni per abilitare le funzionalità relative ai temi, come le immagini in miniatura degli articoli (Featured Image), i loghi personalizzati (Custom Logo) e il supporto per i tag HTML5.

Si consiglia di leggere Sviluppo di temi per WordPress: Da principianti a esperti: La guida essenziale per creare siti web personalizzati

function my_first_theme_setup() {
    // 添加文章和评论的 RSS feed 链接到 head
    add_theme_support( 'automatic-feed-links' );
    // 启用文章缩略图功能
    add_theme_support( 'post-thumbnails' );
    // 注册一个导航菜单位置
    register_nav_menus( array(
        'primary' => __( '主导航菜单', 'my-first-theme' ),
    ) );
}
add_action( 'after_setup_theme', 'my_first_theme_setup' );

Area di registrazione degli strumenti aggiuntivi

functions.php In cinese, usare register_sidebar() Una funzione può definire una o più aree per i widget (Widget Areas), consentendo agli utenti di trascinare e posizionare componenti nell’interfaccia dedicata ai widget in background.

function my_first_theme_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', 'my_theme_widgets_init' );

Caricare correttamente i stili e i script.

Non utilizzare mai direttamente i contenuti all’interno dei file di template. <link><script> I tag hardcoded introducono file CSS e JavaScript. Il metodo corretto consiste nell'utilizzare e per includere questi file nel codice HTML. functions.php Utilizzare nel contesto wp_enqueue_style()wp_enqueue_script() Funzione, e montarla… wp_enqueue_scripts Sul gancio… Questo garantisce che le dipendenze siano corrette e evita il caricamento ripetuto dei file.

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.
function my_first_theme_scripts() {
    // 加载主样式表
    wp_enqueue_style( 'my-first-theme-style', get_stylesheet_uri() );
    // 加载导航脚本,依赖 jQuery
    wp_enqueue_script( 'my-first-theme-navigation', get_template_directory_uri() . '/js/navigation.js', array('jquery'), '1.0', true );
}
add_action( 'wp_enqueue_scripts', 'my_first_theme_scripts' );

Internazionalizzazione dei temi e preparazione alla pubblicazione

Implementare la traduzione dei temi (implementing theme translation).

Per permettere che il tuo tema venga utilizzato da utenti in tutto il mondo, l’internazionalizzazione (i18n) è un passaggio essenziale. Ciò significa che devi avvolgere tutte le stringhe destinate agli utenti all’interno di funzioni di traduzione. La funzione più utilizzata in questo contesto è… __()(Per visualizzare la traduzione in PHP) E _e()(Per l’output della traduzione in PHP.) Inoltre, style.css La testa e functions.php Nella funzione di caricamento, è necessario impostare correttamente il “Text Domain” (dominio del testo); ad esempio, come abbiamo fatto in precedenza… my-first-theme

Eseguire i test finali e la compressione.

Prima della pubblicazione, è necessario effettuare test approfonditi in diversi ambienti (diverse versioni di PHP, diverse versioni di WordPress) e su diversi dispositivi (desktop, tablet, smartphone). Verificare che tutti i file dei template funzionino correttamente, che le funzionalità siano implementate come previsto e che il tema rispetti gli standard di revisione ufficiali di WordPress.

Infine, rimuovi tutto il codice di debug e le annotazioni (a meno che non siano utili per gli utenti), e utilizza strumenti come CodeKit o compressori online per ridurre le dimensioni dei file CSS e JavaScript. Paketa l’intera cartella del tema in un file ZIP, così sarai pronto a inviarlo nel directory dei temi di WordPress.org o a distribuirlo agli utenti.

Riassumendo

Creare da zero un tema per WordPress rappresenta un processo di apprendimento sistematico che comprende vari aspetti: dalla configurazione dell’ambiente di sviluppo, alla comprensione della struttura dei file di template, alla creazione dei file di template principali, fino all’implementazione di funzionalità personalizzate. functions.php Un processo completo di integrazione di funzionalità avanzate. La chiave sta nel rispettare gli standard di codifica e le migliori pratiche di WordPress, come l’utilizzo delle funzioni built-in, l’importazione corretta dei file necessari e l’implementazione delle funzionalità di internazionalizzazione. Seguendo passo dopo passo le indicazioni descritte in questo articolo, non otterrai soltanto un tema funzionante, ma comprenderai anche in profondità i meccanismi di funzionamento dei temi per WordPress, gettando così le basi per lo sviluppo di temi più complessi e professionali.

FAQ - Domande frequenti

È necessario conoscere PHP per creare temi (temi per siti web)?

Sì, una conoscenza approfondita di PHP è essenziale per sviluppare temi personalizzati per WordPress. Poiché WordPress è scritto in PHP, tutti i file di template (come… index.php, single.php) e i file funzionali (functions.phpTutti questi aspetti (generazione dinamica di contenuti, accesso al database e elaborazione dei dati) vengono gestiti direttamente tramite codice PHP. Senza conoscenze di PHP, non sarà possibile comprendere e utilizzare le funzionalità fondamentali di questo sistema.

Devo scrivere tutto il codice da zero per lo sviluppo di un tema?

Non necessariamente. Per i principianti, iniziare da zero rappresenta senz’altro un ottimo percorso di apprendimento. Tuttavia, nel lavoro pratico, gli sviluppatori spesso utilizzano temi predefiniti (“Starter Themes” o “Parent Themes”) come base per i loro progetti. Ad esempio, il tema ufficiale _Underscores (_s) rappresenta un punto di partenza di alta qualità, caratterizzato da un design minimalista e da una conformità ai standard di codifica: contiene già la struttura dei file necessaria e le funzioni più comuni. È possibile personalizzarlo ulteriormente, il che permette di aumentare notevolmente l’efficienza e di garantire la qualità del codice.

Quali conseguenze può avere un errore nel file functions.php?

functions.php Gli errori di sintassi o gli errori fatali presenti nei file possono causare il cosiddetto “White Screen of Death” nel sito WordPress, ovvero l’impossibilità di accedere sia all’interfaccia front-end che a quella di amministrazione. Questo accade perché tali file vengono eseguiti durante la fase iniziale del caricamento del tema. In tal caso, è necessario utilizzare FTP o un gestore di file del server per rinominare o sostituire la cartella del tema errato con un tema funzionante (ad esempio, Twenty Twenty-Six), al fine di ripristinare l’accesso al sito. Successivamente, sarà possibile correggere il codice errato.

Come posso rendere il mio tema compatibile con l’editor di Gutenberg?

Per migliorare il supporto di un tema per l’editor di blocchi Gutenberg, è necessario innanzitutto… functions.php Utilizzare nel contesto add_theme_support( ‘editor-styles’ ) Per abilitare il supporto degli stili dell’editor, procedi come segue: poi, utilizza… add_editor_style() La funzione integra nel editor di back-end il tuo file di stili per il tema o un file CSS scritto appositamente per l’editor, garantendo che lo stile visualizzato dall’utente durante la modifica sia il più possibile in linea con quello visualizzato sul front-end. Inoltre, è possibile aggiungere anche il supporto per funzionalità come l’allineamento dei contenuti orizzontalmente, la personalizzazione dei colori e altre caratteristiche legate alla formattazione dei contenuti.