<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>tema wordpress - Web Design | Creazione Siti Internet</title>
	<atom:link href="https://www.mrtux.it/tag/tema-wordpress/feed" rel="self" type="application/rss+xml" />
	<link>https://www.mrtux.it</link>
	<description>Sviluppo Siti Web - Assistenza WordPress</description>
	<lastBuildDate>Fri, 22 May 2026 19:25:15 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.1</generator>

<image>
	<url>https://www.mrtux.it/wp-content/uploads/2022/06/favicon-150x150.png</url>
	<title>tema wordpress - Web Design | Creazione Siti Internet</title>
	<link>https://www.mrtux.it</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Creare Tema WordPress: Guida 101 allo Sviluppo Completo</title>
		<link>https://www.mrtux.it/creare-tema-wordpress-guida-101-allo-sviluppo-completo</link>
					<comments>https://www.mrtux.it/creare-tema-wordpress-guida-101-allo-sviluppo-completo#respond</comments>
		
		<dc:creator><![CDATA[Emilio Petrozzi]]></dc:creator>
		<pubDate>Fri, 22 May 2026 19:13:22 +0000</pubDate>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[creare tema wordpress]]></category>
		<category><![CDATA[css wordpress]]></category>
		<category><![CDATA[guida wordpress]]></category>
		<category><![CDATA[php wordpress]]></category>
		<category><![CDATA[sviluppo temi wordpress]]></category>
		<category><![CDATA[Sviluppo WordPress]]></category>
		<category><![CDATA[tema wordpress]]></category>
		<category><![CDATA[template wordpress]]></category>
		<category><![CDATA[wordpress cms]]></category>
		<category><![CDATA[WordPress Development]]></category>
		<guid isPermaLink="false">https://www.mrtux.it/?p=3406</guid>

					<description><![CDATA[Creare un tema WordPress da zero è più semplice di quanto pensi, e in questa guida ti mostrerò passo dopo passo tutto ciò che devi sapere per sviluppare il tuo primo tema professionale e funzionante. Che tu sia un principiante curioso o uno sviluppatore in cerca di nuove competenze, lo sviluppo temi WP ti aprirà porte verso un controllo totale sul design e sulle funzionalità del tuo sito.]]></description>
										<content:encoded><![CDATA[<h2>Come Creare un Tema WordPress: Guida Completa per Principianti</h2>
<p>Creare un <strong>tema WordPress</strong> da zero è una delle competenze più gratificanti che uno sviluppatore web possa acquisire. Non solo ti permette di avere il pieno controllo sul design e sulle funzionalità del tuo sito, ma ti offre anche una comprensione profonda di come funziona WordPress internamente.</p>
<p>In questa guida ti accompagnerò passo dopo passo nel processo di sviluppo di un tema WordPress funzionale, partendo dalle basi fino ad arrivare alla creazione di un tema completo e professionale.</p>
<hr>
<h2>Perché Creare un Tema WordPress Personalizzato</h2>
<p>Prima di immergerci nel codice, è importante capire perché potresti voler creare il tuo tema WordPress invece di utilizzarne uno preesistente.</p>
<p>Un tema personalizzato ti offre:</p>
<ul>
<li><strong>Controllo totale</strong> sull’aspetto e sul comportamento del sito</li>
<li><strong>Codice pulito</strong> senza funzionalità superflue che rallentano il caricamento</li>
<li><strong>Possibilità di branding</strong> per creare un’identità unica</li>
<li><strong>Apprendimento approfondito</strong> del funzionamento di WordPress</li>
<li><strong>Manutenzione semplificata</strong> perché conosci ogni parte del codice</li>
</ul>
<p>Se stai cercando di entrare nel mondo dello sviluppo WordPress o vuoi creare un sito web professionale, imparare a sviluppare temi è un investimento che vale sicuramente il tempo dedicato.</p>
<hr>
<h2>Prerequisiti per lo Sviluppo di Temi WordPress</h2>
<p>Prima di iniziare, assicurati di avere una buona comprensione dei seguenti concetti:</p>
<h3>Competenze Tecniche Necessarie</h3>
<ul>
<li><strong>HTML e CSS</strong>: La base di qualsiasi sito web. Devi sapere come strutturare una pagina e stilizzarla.</li>
<li><strong>PHP</strong>: WordPress è costruito su PHP, quindi una conoscenza base è essenziale per comprendere come funziona il sistema di template.</li>
<li><strong>JavaScript</strong>: Utile per aggiungere interattività, anche se non strettamente necessario per un tema base.</li>
</ul>
<h3>Strumenti di Sviluppo</h3>
<ul>
<li>Un <strong>server locale</strong> come XAMPP, MAMP o Local by Flywheel</li>
<li>Un <strong>editor di codice</strong> come Visual Studio Code, PhpStorm o Sublime Text</li>
<li>Un <strong>browser moderno</strong> con strumenti di sviluppo (Chrome DevTools)</li>
<li>Accesso a un’<strong>installazione WordPress</strong> locale</li>
</ul>
<hr>
<h2>Configurare l’Ambiente di Sviluppo Locale</h2>
<p>Il primo passo concreto è configurare un ambiente di sviluppo locale dove poter testare il tuo tema senza compromettere un sito live.</p>
<h3>Installare Local by Flywheel</h3>
<p><strong>Local</strong> è una delle opzioni più semplici per creare un ambiente WordPress locale:</p>
<ol>
<li>Scarica e installa Local dal sito ufficiale</li>
<li>Crea un nuovo sito WordPress</li>
<li>Assegna un nome al progetto</li>
<li>Attendi che l’installazione venga completata</li>
<li>Accedi alla bacheca WordPress</li>
</ol>
<p>Una volta completata l’installazione, avrai un sito WordPress funzionante su cui testare il tuo tema in tempo reale.</p>
<h3>Struttura delle Cartelle dei Temi</h3>
<p>WordPress cerca i temi in una struttura specifica. I temi si trovano in:</p>
<pre><code>wp-content/themes/nome-del-tuo-tema/
</code></pre>
<p>Questa cartella sarà la tua area di lavoro principale. Al suo interno creerai tutti i file necessari per il tuo tema.</p>
<hr>
<h2>Creare i File Essenziali del Tema</h2>
<p>Ogni tema WordPress richiede alcuni file fondamentali per funzionare. Iniziamo creando la struttura base.</p>
<h3>1. Il File style.css</h3>
<p>Il file <code>style.css</code> è il cuore del tuo tema. Non contiene solo CSS, ma anche le informazioni necessarie a WordPress per riconoscere e visualizzare il tema nel pannello di amministrazione.</p>
<pre><code class="language-css">/<em>
Theme Name: Il Mio Primo Tema
Theme URI: https://esempio.com
Author: Il Tuo Nome
Author URI: https://esempio.com
Description: Un tema WordPress personalizzato creato da zero
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mio-primo-tema
</em>/
</code></pre>
<p>Questo commento iniziale è obbligatorio. Senza di esso, WordPress non sarà in grado di riconoscere il tuo tema.</p>
<h3>2. Il File functions.php</h3>
<p>Il file <code>functions.php</code> è dove definisci le funzionalità del tema, registri script, stili, menu, widget e molto altro.</p>
<pre><code class="language-php">&lt;?php
// Aggiungiamo il supporto per vari elementi di WordPress
function mio_tema_setup() {
    // Supporto per il titolo del sito
    add_theme_support('title-tag');

    // Supporto per le immagini in evidenza
    add_theme_support('post-thumbnails');

    // Supporto per il logo personalizzato
    add_theme_support('custom-logo');

    // Registriamo un menu di navigazione
    register_nav_menus(array(
        'primary' =&gt; __('Menu Principale', 'mio-primo-tema'),
        'footer' =&gt; __('Menu Footer', 'mio-primo-tema'),
    ));
}
add_action('after_setup_theme', 'mio_tema_setup');

// Carichiamo gli stili e gli script
function mio_tema_scripts() {
    wp_enqueue_style('mio-tema-style', get_stylesheet_uri());
    wp_enqueue_script('mio-tema-script', get_template_directory_uri() . '/js/main.js', array(), '1.0.0', true);
}
add_action('wp_enqueue_scripts', 'mio_tema_scripts');
</code></pre>
<h3>3. Il File index.php</h3>
<p>Il file <code>index.php</code> è il template di fallback di WordPress. Viene utilizzato quando non esiste un template più specifico per un determinato contenuto.</p>
<pre><code class="language-php">&lt;?php get_header(); ?&gt;

&lt;main class="site-main"&gt;
    &lt;?php if (have_posts()) : while (have_posts()) : the_post(); ?&gt;

        &lt;article id="post-&lt;?php the_ID(); ?&gt;" &lt;?php post_class(); ?&gt;&gt;
            &lt;header class="entry-header"&gt;
                &lt;h2 class="entry-title"&gt;
                    &lt;a href="&lt;?php the_permalink(); ?&gt;"&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;
                &lt;/h2&gt;
                &lt;div class="entry-meta"&gt;
                    &lt;span class="posted-on"&gt;&lt;?php echo get_the_date(); ?&gt;&lt;/span&gt;
                &lt;/div&gt;
            &lt;/header&gt;

            &lt;div class="entry-content"&gt;
                &lt;?php the_content(); ?&gt;
            &lt;/div&gt;
        &lt;/article&gt;

    &lt;?php endwhile; else : ?&gt;
        &lt;p&gt;&lt;?php esc_html_e('Nessun contenuto trovato.', 'mio-primo-tema'); ?&gt;&lt;/p&gt;
    &lt;?php endif; ?&gt;
&lt;/main&gt;

&lt;?php get_footer(); ?&gt;
</code></pre>
<hr>
<h2>Comprendere la Gerarchia dei Template</h2>
<p>WordPress utilizza un sistema di <strong>gerarchia dei template</strong> per determinare quale file PHP visualizzare per ogni tipo di contenuto. Comprendere questo sistema è fondamentale per creare un tema completo.</p>
<h3>Ordine di Priorità dei Template</h3>
<p>Ecco l’ordine in cui WordPress cerca i template:</p>
<table>
<thead>
<tr>
<th>Tipo di Contenuto</th>
<th>Template Principale</th>
<th>Fallback</th>
</tr>
</thead>
<tbody>
<tr>
<td>Homepage</td>
<td>front-page.php</td>
<td>home.php → index.php</td>
</tr>
<tr>
<td>Articoli</td>
<td>single.php</td>
<td>singular.php → index.php</td>
</tr>
<tr>
<td>Pagine</td>
<td>page-{slug}.php → page-{id}.php</td>
<td>page.php → index.php</td>
</tr>
<tr>
<td>Categorie</td>
<td>category-{slug}.php → category-{id}.php</td>
<td>archive.php → index.php</td>
</tr>
<tr>
<td>Tag</td>
<td>tag-{slug}.php → tag-{id}.php</td>
<td>archive.php → index.php</td>
</tr>
<tr>
<td>Archive autore</td>
<td>author-{nicename}.php → author-{id}.php</td>
<td>archive.php → index.php</td>
</tr>
<tr>
<td>Ricerca</td>
<td>search.php</td>
<td>index.php</td>
</tr>
<tr>
<td>404</td>
<td>404.php</td>
<td>index.php</td>
</tr>
</tbody>
</table>
<h3>Esempio Pratico: Creare header.php e footer.php</h3>
<p>Per evitare di ripetere il codice in ogni template, WordPress permette di creare file parziali riutilizzabili.</p>
<p><strong>header.php</strong></p>
<pre><code class="language-php">&lt;!DOCTYPE html&gt;
&lt;html &lt;?php language_attributes(); ?&gt;&gt;
&lt;head&gt;
    &lt;meta charset="&lt;?php bloginfo('charset'); ?&gt;"&gt;
    &lt;meta name="viewport" content="width=device-width, initial-scale=1"&gt;
    &lt;?php wp_head(); ?&gt;
&lt;/head&gt;
&lt;body &lt;?php body_class(); ?&gt;&gt;
&lt;?php wp_body_open(); ?&gt;

&lt;header class="site-header"&gt;
    &lt;div class="container"&gt;
        &lt;?php if (has_custom_logo()) : ?&gt;
            &lt;?php the_custom_logo(); ?&gt;
        &lt;?php else : ?&gt;
            &lt;h1 class="site-title"&gt;
                &lt;a href="&lt;?php echo esc_url(home_url('/')); ?&gt;"&gt;
                    &lt;?php bloginfo('name'); ?&gt;
                &lt;/a&gt;
            &lt;/h1&gt;
        &lt;?php endif; ?&gt;

        &lt;nav class="main-navigation"&gt;
            &lt;?php wp_nav_menu(array(
                'theme_location' =&gt; 'primary',
                'container' =&gt; false,
                'menu_class' =&gt; 'nav-menu',
            )); ?&gt;
        &lt;/nav&gt;
    &lt;/div&gt;
&lt;/header&gt;

&lt;main class="site-content"&gt;
</code></pre>
<p><strong>footer.php</strong></p>
<pre><code class="language-php">&lt;/main&gt;

&lt;footer class="site-footer"&gt;
    &lt;div class="container"&gt;
        &lt;p&gt;&amp;copy; &lt;?php echo date('Y'); ?&gt; &lt;?php bloginfo('name'); ?&gt;. Tutti i diritti riservati.&lt;/p&gt;
        &lt;?php wp_nav_menu(array('theme_location' =&gt; 'footer')); ?&gt;
    &lt;/div&gt;
&lt;/footer&gt;

&lt;?php wp_footer(); ?&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<hr>
<h2>Il Loop di WordPress: Cuore del Sistema</h2>
<p>Il <strong>Loop</strong> è il meccanismo fondamentale attraverso cui WordPress recupera e visualizza i contenuti. Comprenderlo è essenziale per qualsiasi sviluppatore di temi.</p>
<h3>Struttura Base del Loop</h3>
<pre><code class="language-php">&lt;?php
// Verifichiamo se ci sono post da visualizzare
if (have_posts()) :

    // Iteriamo attraverso ogni post
    while (have_posts()) : the_post();

        // Contenuto del singolo post ?&gt;
        &lt;article id="post-&lt;?php the_ID(); ?&gt;"&gt;
            &lt;h2&gt;&lt;?php the_title(); ?&gt;&lt;/h2&gt;
            &lt;div class="post-thumbnail"&gt;
                &lt;?php if (has_post_thumbnail()) : ?&gt;
                    &lt;?php the_post_thumbnail('medium'); ?&gt;
                &lt;?php endif; ?&gt;
            &lt;/div&gt;
            &lt;div class="post-excerpt"&gt;
                &lt;?php the_excerpt(); ?&gt;
            &lt;/div&gt;
            &lt;a href="&lt;?php the_permalink(); ?&gt;"&gt;Leggi tutto&lt;/a&gt;
        &lt;/article&gt;
        &lt;?php

    endwhile;

    // Paginazione
    the_posts_pagination();

else :
    // Messaggio se non ci sono post
    echo '&lt;p&gt;Nessun contenuto disponibile.&lt;/p&gt;';

endif;
?&gt;
</code></pre>
<h3>Funzioni Utili all’Interno del Loop</h3>
<p>All’interno del Loop hai accesso a numerose funzioni:</p>
<ul>
<li><code>the_title()</code> - Visualizza il titolo del post</li>
<li><code>the_content()</code> - Visualizza il contenuto completo</li>
<li><code>the_excerpt()</code> - Visualizza un riassunto</li>
<li><code>the_permalink()</code> - Restituisce l’URL del post</li>
<li><code>the_post_thumbnail()</code> - Visualizza l’immagine in evidenza</li>
<li><code>the_date()</code> - Visualizza la data di pubblicazione</li>
<li><code>the_author()</code> - Visualizza l’autore</li>
<li><code>get_the_category()</code> - Recupera le categorie</li>
</ul>
<hr>
<h2>Template Parts: Riutilizzare il Codice</h2>
<p>I <strong>template parts</strong> sono frammenti di template che puoi includere in diversi punti del tuo tema. Questo approccio promuove il riutilizzo del codice e la manutenzione più semplice.</p>
<h3>Creare Template Parts</h3>
<p>Puoi creare template parts per elementi ripetitivi come card di articoli, header di sezioni, o qualsiasi altro componente.</p>
<p><strong>template-parts/content.php</strong></p>
<pre><code class="language-php">&lt;article id="post-&lt;?php the_ID(); ?&gt;" &lt;?php post_class('article-card'); ?&gt;&gt;
    &lt;?php if (has_post_thumbnail()) : ?&gt;
        &lt;div class="card-image"&gt;
            &lt;a href="&lt;?php the_permalink(); ?&gt;"&gt;
                &lt;?php the_post_thumbnail('large'); ?&gt;
            &lt;/a&gt;
        &lt;/div&gt;
    &lt;?php endif; ?&gt;

    &lt;div class="card-content"&gt;
        &lt;h3 class="card-title"&gt;
            &lt;a href="&lt;?php the_permalink(); ?&gt;"&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;
        &lt;/h3&gt;

        &lt;div class="card-meta"&gt;
            &lt;span class="card-date"&gt;&lt;?php echo get_the_date(); ?&gt;&lt;/span&gt;
            &lt;span class="card-author"&gt;di &lt;?php the_author(); ?&gt;&lt;/span&gt;
        &lt;/div&gt;

        &lt;div class="card-excerpt"&gt;
            &lt;?php the_excerpt(); ?&gt;
        &lt;/div&gt;

        &lt;a href="&lt;?php the_permalink(); ?&gt;" class="card-link"&gt;
            Continua a leggere →
        &lt;/a&gt;
    &lt;/div&gt;
&lt;/article&gt;
</code></pre>
<h3>Includere Template Parts nel Template</h3>
<pre><code class="language-php">&lt;?php get_template_part('template-parts/content', 'page'); ?&gt;
</code></pre>
<p>Il secondo parametro (‘page’) permette di specificare un suffisso. WordPress cercherà prima <code>content-page.php</code> e, se non esiste, ricorrerà a <code>content.php</code>.</p>
<hr>
<h2>Aggiungere Stili e Script Correttamente</h2>
<p>Un aspetto cruciale dello sviluppo temi è la gestione corretta di CSS e JavaScript. WordPress fornisce un sistema integrato per caricare risorse in modo sicuro e.performante.</p>
<h3>Best Practices per CSS e JavaScript</h3>
<pre><code class="language-php">function mio_tema_enqueue_assets() {
    // CSS principale del tema
    wp_enqueue_style(
        'mio-tema-main',
        get_stylesheet_directory_uri() . '/css/main.css',
        array(),
        '1.0.0'
    );

    // Font Google (dipendenza per main.css)
    wp_enqueue_style(
        'google-fonts',
        'https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&amp;display=swap',
        array(),
        null
    );

    // JavaScript con dipendenze
    wp_enqueue_script(
        'mio-tema-navigation',
        get_template_directory_uri() . '/js/navigation.js',
        array(),
        '1.0.0',
        true
    );

    // JavaScript condizionale (es. solo per IE)
    wp_enqueue_script(
        'html5shiv',
        'https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js',
        array(),
        '3.7.3',
        false
    );
    wp_script_add_data('html5shiv', 'conditional', 'lt IE 9');
}
add_action('wp_enqueue_scripts', 'mio_tema_enqueue_assets');
</code></pre>
<h3>Creare il File CSS Principale</h3>
<p><strong>css/main.css</strong></p>
<pre><code class="language-css">/<em> Reset di base </em>/
<em> {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/</em> Variabili CSS <em>/
:root {
    --color-primary: #2563eb;
    --color-secondary: #1e40af;
    --color-text: #1f2937;
    --color-bg: #ffffff;
    --font-main: 'Inter', sans-serif;
    --spacing-md: 1.5rem;
    --spacing-lg: 3rem;
}

/</em> Stili globali <em>/
body {
    font-family: var(--font-main);
    color: var(--color-text);
    background-color: var(--color-bg);
    line-height: 1.6;
}

/</em> Container <em>/
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--spacing-md);
}

/</em> Header <em>/
.site-header {
    padding: var(--spacing-md) 0;
    border-bottom: 1px solid #e5e7eb;
}

.site-header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/</em> Navigazione <em>/
.nav-menu {
    display: flex;
    list-style: none;
    gap: var(--spacing-md);
}

.nav-menu a {
    text-decoration: none;
    color: var(--color-text);
    transition: color 0.3s ease;
}

.nav-menu a:hover {
    color: var(--color-primary);
}

/</em> Articoli <em>/
.article-card {
    margin-bottom: var(--spacing-lg);
    padding: var(--spacing-md);
    border-radius: 8px;
    background: #f9fafb;
}

.card-title a {
    text-decoration: none;
    color: var(--color-text);
}

/</em> Responsive */
@media (max-width: 768px) {
    .site-header .container {
        flex-direction: column;
        gap: var(--spacing-md);
    }

    .nav-menu {
        flex-direction: column;
        align-items: center;
    }
}
</code></pre>
<hr>
<h2>Personalizzare il Tema con il Customizer</h2>
<p>Il <strong>Customizer di WordPress</strong> permette agli utenti di modificare aspeketti del tema in tempo reale. Implementare il Customizer rende il tuo tema più flessibile e user-friendly.</p>
<h3>Aggiungere Opzioni al Customizer</h3>
<pre><code class="language-php">function mio_tema_customize_register($wp_customize) {
    // Sezione Colori
    $wp_customize-&gt;add_section('mio_tema_colors', array(
        'title' =&gt; __('Colori del Sito', 'mio-primo-tema'),
        'priority' =&gt; 30,
    ));

    // Impostazione colore primario
    $wp_customize-&gt;add_setting('primary_color', array(
        'default' =&gt; '#2563eb',
        'sanitize_callback' =&gt; 'sanitize_hex_color',
    ));

    $wp_customize-&gt;add_control(new WP_Customize_Color_Control($wp_customize, 'primary_color', array(
        'label' =&gt; __('Colore Primario', 'mio-primo-tema'),
        'section' =&gt; 'mio_tema_colors',
        'settings' =&gt; 'primary_color',
    )));

    // Sezione Layout
    $wp_customize-&gt;add_section('mio_tema_layout', array(
        'title' =&gt; __('Layout', 'mio-primo-tema'),
        'priority' =&gt; 35,
    ));

    // Impostazione container width
    $wp_customize-&gt;add_setting('container_width', array(
        'default' =&gt; '1200',
        'sanitize_callback' =&gt; 'absint',
    ));

    $wp_customize-&gt;add_control('container_width', array(
        'type' =&gt; 'number',
        'section' =&gt; 'mio_tema_layout',
        'label' =&gt; __('Larghezza Container (px)', 'mio-primo-tema'),
        'input_attrs' =&gt; array(
            'min' =&gt; 800,
            'max' =&gt; 1920,
            'step' =&gt; 20,
        ),
    ));
}
add_action('customize_register', 'mio_tema_customize_register');

// Applicare le impostazioni nel CSS
function mio_tema_customizer_css() {
    $primary_color = get_theme_mod('primary_color', '#2563eb');
    $container_width = get_theme_mod('container_width', '1200');
    ?&gt;
    &lt;style type="text/css"&gt;
        :root {
            --color-primary: &lt;?php echo esc_attr($primary_color); ?&gt;;
            --container-max: &lt;?php echo esc_attr($container_width); ?&gt;px;
        }
    &lt;/style&gt;
    &lt;?php
}
add_action('wp_head', 'mio_tema_customizer_css');
</code></pre>
<hr>
<h2>Creare Template Specifici</h2>
<p>Per un tema completo, dovresti creare template specifici per diversi tipi di contenuto.</p>
<h3>Template per Pagine (page.php)</h3>
<pre><code class="language-php">&lt;?php get_header(); ?&gt;

&lt;main class="page-template"&gt;
    &lt;?php while (have_posts()) : the_post(); ?&gt;

        &lt;article class="page-content"&gt;
            &lt;header class="page-header"&gt;
                &lt;h1 class="page-title"&gt;&lt;?php the_title(); ?&gt;&lt;/h1&gt;
            &lt;/header&gt;

            &lt;div class="page-body"&gt;
                &lt;?php the_content(); ?&gt;
            &lt;/div&gt;

            &lt;?php
            // Supporto per la paginazione all'interno del contenuto
            wp_link_pages(array(
                'before' =&gt; '&lt;div class="page-links"&gt;' . __('Pagine:', 'mio-primo-tema'),
                'after' =&gt; '&lt;/div&gt;',
            ));
            ?&gt;
        &lt;/article&gt;

        &lt;?php
        // Commenti (se abilitati)
        if (comments_open() || get_comments_number()) :
            comments_template();
        endif;
        ?&gt;

    &lt;?php endwhile; ?&gt;
&lt;/main&gt;

&lt;?php get_footer(); ?&gt;
</code></pre>
<h3>Template per Articoli (single.php)</h3>
<pre><code class="language-php">&lt;?php get_header(); ?&gt;

&lt;main class="single-post"&gt;
    &lt;?php while (have_posts()) : the_post(); ?&gt;

        &lt;article class="post-single"&gt;
            &lt;header class="post-header"&gt;
                &lt;?php if (has_post_thumbnail()) : ?&gt;
                    &lt;div class="post-featured-image"&gt;
                        &lt;?php the_post_thumbnail('large'); ?&gt;
                    &lt;/div&gt;
                &lt;?php endif; ?&gt;

                &lt;h1 class="post-title"&gt;&lt;?php the_title(); ?&gt;&lt;/h1&gt;

                &lt;div class="post-meta"&gt;
                    &lt;span class="post-date"&gt;
                        &lt;time datetime="&lt;?php echo get_the_date('c'); ?&gt;"&gt;
                            &lt;?php echo get_the_date(); ?&gt;
                        &lt;/time&gt;
                    &lt;/span&gt;
                    &lt;span class="post-author"&gt;
                        &lt;?php the_author_posts_link(); ?&gt;
                    &lt;/span&gt;
                    &lt;span class="post-categories"&gt;
                        &lt;?php the_category(', '); ?&gt;
                    &lt;/span&gt;
                &lt;/div&gt;
            &lt;/header&gt;

            &lt;div class="post-content"&gt;
                &lt;?php the_content(); ?&gt;
            &lt;/div&gt;

            &lt;footer class="post-footer"&gt;
                &lt;?php the_tags('&lt;div class="post-tags"&gt;&lt;strong&gt;Tag:&lt;/strong&gt; ', ', ', '&lt;/div&gt;'); ?&gt;

                &lt;?php get_template_part('template-parts/author', 'bio'); ?&gt;
            &lt;/footer&gt;
        &lt;/article&gt;

        &lt;nav class="post-navigation"&gt;
            &lt;div class="previous-post"&gt;
                &lt;?php previous_post_link('%link', '← Articolo precedente'); ?&gt;
            &lt;/div&gt;
            &lt;div class="next-post"&gt;
                &lt;?php next_post_link('%link', 'Articolo successivo →'); ?&gt;
            &lt;/div&gt;
        &lt;/nav&gt;

        &lt;?php comments_template(); ?&gt;

    &lt;?php endwhile; ?&gt;
&lt;/main&gt;

&lt;?php get_footer(); ?&gt;
</code></pre>
<h3>Template per Errori 404 (404.php)</h3>
<pre><code class="language-php">&lt;?php get_header(); ?&gt;

&lt;main class="error-404"&gt;
    &lt;div class="container"&gt;
        &lt;section class="error-404-content"&gt;
            &lt;h1 class="error-code"&gt;404&lt;/h1&gt;
            &lt;h2 class="error-title"&gt;&lt;?php esc_html_e('Pagina Non Trovata', 'mio-primo-tema'); ?&gt;&lt;/h2&gt;
            &lt;p class="error-message"&gt;
                &lt;?php esc_html_e('La pagina che stai cercando non esiste o è stata spostata.', 'mio-primo-tema'); ?&gt;
            &lt;/p&gt;

            &lt;div class="error-search"&gt;
                &lt;h3&gt;&lt;?php esc_html_e('Prova a cercare:', 'mio-primo-tema'); ?&gt;&lt;/h3&gt;
                &lt;?php get_search_form(); ?&gt;
            &lt;/div&gt;

            &lt;div class="error-links"&gt;
                &lt;a href="&lt;?php echo esc_url(home_url('/')); ?&gt;" class="btn-home"&gt;
                    &lt;?php esc_html_e('Torna alla Home', 'mio-primo-tema'); ?&gt;
                &lt;/a&gt;
            &lt;/div&gt;
        &lt;/section&gt;
    &lt;/div&gt;
&lt;/main&gt;

&lt;?php get_footer(); ?&gt;
</code></pre>
<hr>
<h2>Sicurezza e Best Practices</h2>
<p>Quando sviluppi un tema WordPress, la sicurezza deve essere sempre una priorità.</p>
<h3>Sanitizzazione e Validazione</h3>
<pre><code class="language-php">// Sanitizzazione degli input
$testo = sanitize_text_field($input);
$email = sanitize_email($input);
$url = esc_url($input);
$html = wp_kses_post($input);

// escaping dell'output
echo esc_html($testo);
echo esc_attr($attributo);
echo esc_url($link);
echo wp_kses_post($contenuto_html);
</code></pre>
<h3>Altre Best Practices</h3>
<ul>
<li><strong>Non modificare i file core di WordPress</strong></li>
<li><strong>Usa funzioni WordPress native</strong> invece di codice personalizzato quando possibile</li>
<li><strong>Implementa il supporto per la traduzione</strong> usando <code>__()</code> e <code>_e()</code></li>
<li><strong>Evita queries personalizzate complesse</strong> nel template; usa invece hooks e filtri</li>
<li><strong>Mantieni il codice modulare</strong> usando template parts e funzioni specifiche</li>
</ul>
<hr>
<h2>Testare e Distribuire il Tema</h2>
<p>Prima di rendere disponibile il tuo tema, è essenziale testarlo accuratamente.</p>
<h3>Checklist per i Test</h3>
<ul>
<li>[ ] Il tema si attiva senza errori</li>
<li>[ ] Tutti i template funzionano correttamente</li>
<li>[ ] I menu di navigazione sono visualizzati</li>
<li>[ ] Le immagini in evidenza vengono visualizzate</li>
<li>[ ] I commenti funzionano</li>
<li>[ ] La paginazione è corretta</li>
<li>[ ] Il Customizer funziona</li>
<li>[ ] Il tema è responsive su diversi dispositivi</li>
<li>[ ] Non ci sono errori PHP o JavaScript nella console</li>
<li>[ ] Il tema rispetta gli standard WordPress</li>
</ul>
<h3>Strumenti di Test</h3>
<ul>
<li><strong>Theme Check</strong>: Plugin che verifica la conformità agli standard WordPress</li>
<li><strong>Query Monitor</strong>: Per debuggare query database e performance</li>
<li><strong>Browser DevTools</strong>: Per testare CSS e JavaScript</li>
<li><strong>Theme Unit Test</strong>: Dataset di test per verificare la compatibilità</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mrtux.it/creare-tema-wordpress-guida-101-allo-sviluppo-completo/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Sviluppo Temi WordPress 101</title>
		<link>https://www.mrtux.it/sviluppo-temi-wordpress-101</link>
					<comments>https://www.mrtux.it/sviluppo-temi-wordpress-101#respond</comments>
		
		<dc:creator><![CDATA[Emilio Petrozzi]]></dc:creator>
		<pubDate>Sat, 06 May 2023 11:31:34 +0000</pubDate>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[tema wordpress]]></category>
		<guid isPermaLink="false">https://www.mrtux.it/?p=1653</guid>

					<description><![CDATA[Introduzione Se sei un programmatore o un designer alle prime armi e hai la necessità di creare un tema WordPress da zero sei nel posto giusto. In questa guida ti mostreremo come preparare l'ambiente di sviluppo e costruire passo passo un tema base personalizzabile e sicuro per WordPress. Lo sviluppo di temi WordPress è la [&#8230;]]]></description>
										<content:encoded><![CDATA[<h2>Introduzione</h2>
<p>Se sei un programmatore o un designer alle prime armi e hai la necessità di creare un tema WordPress da zero sei nel posto giusto. In questa guida ti mostreremo come preparare l'ambiente di sviluppo e costruire passo passo un tema base personalizzabile e sicuro per WordPress. Lo sviluppo di temi WordPress è la creazione di un design grafico personalizzato che comprenderà una serie di file <a href="https://www.php.net/" target="_blank" rel="noopener nofollow external" data-wpel-link="external">PHP</a>, <a href="https://www.w3schools.com/css/" target="_blank" rel="noopener nofollow external" data-wpel-link="external">CSS</a>, <a href="https://www.javascript.com/" target="_blank" rel="noopener nofollow external" data-wpel-link="external">JavaScript</a> e immagini utilizzati per costruire un tema da abbinare a <a href="https://it.wordpress.org/" target="_blank" rel="noopener nofollow external" data-wpel-link="external">WordPress</a>. Può essere un tema generico, adatto a diversi utilizzi o un tema specifico per uno scopo particolare. Inoltre ti insegneremo come organizzare il codice, effettuare il debug e testarlo, nonché rilasciare e mantenere il tema. Pronto a partire?</p>
<p><img fetchpriority="high" decoding="async" class="size-full wp-image-1654 aligncenter" src="https://www.mrtux.it/wp-content/uploads/2023/05/wordpress-sviluppo-temi.webp" alt="wordpress sviluppo temi" width="880" height="380" srcset="https://www.mrtux.it/wp-content/uploads/2023/05/wordpress-sviluppo-temi.webp 880w, https://www.mrtux.it/wp-content/uploads/2023/05/wordpress-sviluppo-temi-300x130.webp 300w, https://www.mrtux.it/wp-content/uploads/2023/05/wordpress-sviluppo-temi-768x332.webp 768w" sizes="(max-width: 880px) 100vw, 880px" /></p>
<h2>Cos'è sviluppo di temi WordPress?</h2>
<p>Se sei un appassionato di WordPress allora sicuramente hai sentito parlare di sviluppo di temi WordPress. In parole povere si tratta di creare e personalizzare i design e le funzionalità dei <a href="https://it.wordpress.org/themes/" target="_blank" rel="noopener nofollow external" data-wpel-link="external">temi WordPress</a>. Questo ti permette di avere un sito web o un blog dalla grafica unica e personalizzata, piuttosto che utilizzare un tema predefinito.</p>
<p>Nel corso del tuo percorso di <a href="https://www.mrtux.it/emilio-petrozzi-chi-sono" data-wpel-link="internal" target="_self" rel="noopener"><em>sviluppatore di temi WordPress</em></a> incontrerai alcune definizioni importanti. Ad esempio dovrai conoscere la differenza tra un tema e un template e capire ciò che sono i file di template e quali sono i principali tag e funzioni PHP che puoi utilizzare per personalizzare il tuo tema.</p>
<p>Inoltre è importante comprendere l'importanza della realizzazione di temi responsive, in grado cioè di adattarsi ai vari schermi di navigazione (computer, smartphone e tablet), nonché la necessità di seguire alcune best practices per una buona organizzazione del codice e per garantire la sicurezza del tuo tema.</p>
<p>In pratica lo sviluppo di temi WordPress ti permette di creare un sito web o un blog personalizzato e funzionale seguendo le best practices e le linee guida di WordPress per garantire una buona user experience.</p>
<h2>Preparazione dell'ambiente di sviluppo</h2>
<p>Una volta che hai una chiara idea su cosa sia lo sviluppo di temi WordPress è ora di iniziare a preparare l'ambiente di sviluppo. Il primo passo è installare WordPress sul tuo computer locale. Anche se non è obbligatorio, l'installazione di WordPress sul tuo computer rende il processo di sviluppo molto più facile e veloce.</p>
<p>Innanzitutto devi scaricare l'ultima versione di WordPress dal sito ufficiale. Una volta scaricato il file .tar.gz, estrailo e copialo nella directory specifica per il server web che stai utilizzando. Dopodiché crea un database <a href="https://www.mysql.com/it/" target="_blank" rel="noopener nofollow external" data-wpel-link="external">MySQL</a> e configura il file wp-config.php con i dati relativi al database.</p>
<p>Passiamo ora alla seconda parte della preparazione dell'ambiente di sviluppo: l'installazione dell'ambiente di sviluppo locale. Esistono molti ambienti di sviluppo locali tra cui scegliere, ma se sei alle prime armi, ti consigliamo di utilizzare MAMP (per Mac) o WAMP (per Windows). Una volta installato uno dei due puoi iniziare a creare il tuo primo tema WordPress.</p>
<h2>Costruzione di un tema base</h2>
<p>Pronti a creare il vostro primo tema? Perfetto, il nostro obiettivo è quello di costruire un tema base personalizzabile. Il tema che creeremo sarà composto dai seguenti file:</p>
<ul>
<li>style.css</li>
<li>index.php</li>
<li>header.php</li>
<li>footer.php</li>
<li>page.php</li>
<li>single.php</li>
<li>archive.php</li>
<li>404.php</li>
</ul>
<h2>Creazione di cartelle e file principali</h2>
<p>Prima di iniziare a creare i file del tema è importante definire la cartella che conterrà i file del tuo tema. Generalmente la cartella deve chiamarsi come il nome del tema, che a sua volta deve essere espressivo e senza spazi o caratteri speciali.</p>
<h3>Creazione del template per la homepage</h3>
<p>La homepage del tuo sito web è la pagina principale che gli utenti vedono quando visitano il tuo sito web. Pertanto è importante creare un template personalizzato per la homepage.</p>
<h3>Creazione di un template per le pagine e i post</h3>
<p>Le pagine e i post hanno bisogno di template personalizzati perché differiscono in termini di contenuto e layout. Creare questi template personalizzati ti permette di impartire una maggior grado di controllo sul posizionamento del contenuto del tuo sito.</p>
<h3>Creazione di un template per gli archivi e le categorie</h3>
<p>Poiché gli archivi dei post e le categorie possono contenere molteplici post, è importante avere un template personalizzato per ognuno di essi.</p>
<h2>Personalizzazione del tema</h2>
<p>Una volta creato il tema base è arrivato il momento di personalizzarlo. Questo può includere modifiche al layout, ai colori, alle immagini, ai font e molto altro ancora. Oltre a questo lo sviluppatore può aggiungere funzionalità personalizzate, come widget o menu.</p>
<h2>Organizzazione e sicurezza del codice</h2>
<p>La fase di organizzazione del codice è molto importante in quanto aiuta a mantenere il progetto in modo pulito e facilmente navigabile. Inoltre è importante utilizzare le best practices per la codifica e strumenti di debug e testing per accertarsi che il codice sia sicuro e che non vi siano vulnerabilità.</p>
<h2>Rilascio e manutenzione del tema</h2>
<p>Una volta che il tema è stato creato, è necessario rilasciarlo in conformità con le linee guida di WordPress. Inoltre, è importante fornire supporto e manutenzione del tema, nonché aggiornarlo con le nuove versioni di WordPress.</p>
<h2>Conclusione</h2>
<p>Con questa guida, speriamo di aver fornito tutti gli strumenti necessari per la creazione di un tema <a href="https://www.mrtux.it/i-nostri-servizi-di-assistenza-wordpress" data-wpel-link="internal" target="_self" rel="noopener">WordPress personalizzato</a> e sicuro. Non dimenticare che la personalizzazione dei temi richiede tempo ed esperienza, ma con la pratica, potrai diventare un esperto.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mrtux.it/sviluppo-temi-wordpress-101/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Come creare un tema WordPress da zero?</title>
		<link>https://www.mrtux.it/come-creare-un-tema-wordpress-da-zero</link>
					<comments>https://www.mrtux.it/come-creare-un-tema-wordpress-da-zero#respond</comments>
		
		<dc:creator><![CDATA[Emilio Petrozzi]]></dc:creator>
		<pubDate>Wed, 19 Apr 2023 16:28:07 +0000</pubDate>
				<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[tema wordpress]]></category>
		<category><![CDATA[web design]]></category>
		<guid isPermaLink="false">https://www.mrtux.it/?p=1308</guid>

					<description><![CDATA[WordPress è una delle piattaforme di blogging più popolari al mondo. Tutti i temi WordPress hanno un aspetto diverso e unico, e creare un tema da zero può essere un'esperienza gratificante. In questo articolo, ti mostrerò come creare un tema WordPress personalizzato chiamato "Il mio tema WP". Prerequisiti Prima di iniziare, dovrai avere una conoscenza [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>WordPress è una delle piattaforme di blogging più popolari al mondo. Tutti i <strong>temi WordPress</strong> hanno un aspetto diverso e unico, e creare un tema da zero può essere un'esperienza gratificante. In questo articolo, ti mostrerò come creare un tema WordPress personalizzato chiamato "Il mio tema WP".</p>
<p><img decoding="async" class="size-large wp-image-1332 aligncenter" src="https://www.mrtux.it/wp-content/uploads/2023/04/WordPress-Web-Design-1024x586.jpg" alt="WordPress Web Design" width="1024" height="586" srcset="https://www.mrtux.it/wp-content/uploads/2023/04/WordPress-Web-Design-1024x586.jpg 1024w, https://www.mrtux.it/wp-content/uploads/2023/04/WordPress-Web-Design-300x172.jpg 300w, https://www.mrtux.it/wp-content/uploads/2023/04/WordPress-Web-Design-768x439.jpg 768w, https://www.mrtux.it/wp-content/uploads/2023/04/WordPress-Web-Design.jpg 1280w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<h2>Prerequisiti</h2>
<p>Prima di iniziare, dovrai avere una conoscenza di base di HTML, CSS e PHP. Inoltre, dovrai avere <a href="https://www.mrtux.it/assistenza-wordpress" data-wpel-link="internal" target="_self" rel="noopener">installato WordPress sul tuo server</a>.</p>
<h2>Creare la cartella del tema</h2>
<p>Per creare un nuovo tema WordPress, inizia creando una nuova cartella nella directory wp-content/themes/. Chiamalo "il-mio-tema-wp".</p>
<h2>Creare il file index.php</h2>
<p>Il file index.php è il file principale del tuo tema WordPress. Crealo nella cartella del tuo tema e aggiungi il seguente codice:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">&lt;?php get_header(); ?&gt;

&lt;main&gt;
  &lt;?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?&gt;
    &lt;article&gt;
      &lt;h2&gt;&lt;?php the_title(); ?&gt;&lt;/h2&gt;
      &lt;?php the_content(); ?&gt;
    &lt;/article&gt;
  &lt;?php endwhile; else : ?&gt;
    &lt;p&gt;&lt;?php esc_html_e( 'Sorry, no posts matched your criteria.' ); ?&gt;&lt;/p&gt;
  &lt;?php endif; ?&gt;
&lt;/main&gt;

&lt;?php get_footer(); ?&gt;</pre>
<p>Questo codice recupera l'intestazione e il piè di pagina del tuo sito WordPress, quindi recupera tutti i post e li visualizza in un elenco.</p>
<h2>Aggiungere il file style.css</h2>
<p>Il file style.css è il file di stile principale del tuo tema WordPress. Crealo nella cartella del tuo tema e aggiungi il seguente codice:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">/*
Theme Name: Il mio tema WP
Theme URI: http://www.example.com
Description: Un tema WordPress personalizzato.
Author: Il tuo nome
Author URI: http://www.example.com
Version: 1.0
*/

/* Aggiungi qui i tuoi stili personalizzati */</pre>
<h2>Aggiungere il file functions.php</h2>
<p>Il file functions.php contiene tutte le funzioni personalizzate del tuo tema WordPress. Crealo nella cartella del tuo tema e aggiungi il seguente codice:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">&lt;?php
function il_mio_tema_wp_scripts() {
  wp_enqueue_style( 'il-mio-tema-wp-style', get_stylesheet_uri() );
}
add_action( 'wp_enqueue_scripts', 'il_mio_tema_wp_scripts' );</pre>
<p>Questo codice aggiunge il tuo file style.css al tuo sito WordPress.</p>
<h2>Aggiungere il file header.php</h2>
<p>Il file header.php contiene l'intestazione del tuo tema WordPress. Crealo nella cartella del tuo tema e aggiungi il seguente codice:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">&lt;!DOCTYPE html&gt;
&lt;html &lt;?php language_attributes(); ?&gt;&gt;
&lt;head&gt;
  &lt;meta charset="&lt;?php bloginfo( 'charset' ); ?&gt;"&gt;
  &lt;meta name="viewport" content="width=device-width, initial-scale=1"&gt;
  &lt;?php wp_head(); ?&gt;
&lt;/head&gt;
&lt;body &lt;?php body_class(); ?&gt;&gt;</pre>
<p>Questo codice apre il tag html, definisce la codifica dei caratteri e aggiunge il tag head.</p>
<h2>Aggiungere il file footer.php</h2>
<p>Il file footer.php contiene il piè di pagina del tuo tema WordPress. Crealo nella cartella del tuo tema e aggiungi il seguente codice:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">&lt;?php wp_footer(); ?&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>Questo codice chiude il tag html e aggiunge il tag body.</p>
<h2>Aggiungere altre sezioni</h2>
<p>Puoi aggiungere altre sezioni al tuo tema WordPress creando nuovi file nella cartella del tuo tema. Ad esempio, se vuoi aggiungere una sezione "Chi siamo", crea un file chiamato about.php nella cartella del tuo tema e aggiungi il seguente codice:</p>
<div class="codeblock relative font-sans text-[16px] bg-black rounded-md">
<div class="flex items-center justify-between py-1.5 px-4 text-gray-200 bg-gray-800 rounded-md">
<pre class="EnlighterJSRAW" data-enlighter-language="generic">&lt;?php
/*
Template Name: Chi siamo
*/
?&gt;

&lt;?php get_header(); ?&gt;

&lt;main&gt;
  &lt;h2&gt;Chi siamo&lt;/h2&gt;
  &lt;p&gt;Aggiungi qui il testo della tua sezione "Chi siamo".&lt;/p&gt;
&lt;/main&gt;

&lt;?php get_footer(); ?&gt;</pre>
<p>Questo codice crea una nuova pagina "Chi siamo" e la visualizza nel tuo sito WordPress.</p>
<h2>Conclusione</h2>
<p>Creare un <a href="https://it.wordpress.org/themes/" target="_blank" rel="noopener nofollow external" data-wpel-link="external">tema WordPress</a> personalizzato da zero può sembrare complicato all'inizio, ma seguendo questi passaggi semplici puoi creare un tema unico e personalizzato in poco tempo. Ricorda di testare il tuo tema su diversi dispositivi e browser per assicurarti che funzioni correttamente.</p>
</div>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mrtux.it/come-creare-un-tema-wordpress-da-zero/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
