<?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>guida completa - Web Design | Creazione Siti Internet</title>
	<atom:link href="https://www.mrtux.it/tag/guida-completa/feed" rel="self" type="application/rss+xml" />
	<link>https://www.mrtux.it</link>
	<description>Sviluppo Siti Web - Assistenza WordPress</description>
	<lastBuildDate>Tue, 17 Mar 2026 10:21:40 +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>guida completa - Web Design | Creazione Siti Internet</title>
	<link>https://www.mrtux.it</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Tema Child WordPress con AI: Guida Completa 2026</title>
		<link>https://www.mrtux.it/tema-child-wordpress-con-ai-guida-completa-2026</link>
					<comments>https://www.mrtux.it/tema-child-wordpress-con-ai-guida-completa-2026#respond</comments>
		
		<dc:creator><![CDATA[Emilio Petrozzi]]></dc:creator>
		<pubDate>Tue, 17 Mar 2026 09:52:34 +0000</pubDate>
				<category><![CDATA[Intelligenza artificiale]]></category>
		<category><![CDATA[2026]]></category>
		<category><![CDATA[ai]]></category>
		<category><![CDATA[child theme]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[guida completa]]></category>
		<category><![CDATA[personalizzazione]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://www.mrtux.it/?p=3220</guid>

					<description><![CDATA[Guida completa 2050+ parole per child theme WordPress con AI. CSS custom, template override, performance optimization. 40+ prompt pronti all'uso.]]></description>
										<content:encoded><![CDATA[<h2>Introduzione</h2>
<p>Hai mai trovato il tema WordPress perfetto per il tuo sito, ma con quei piccoli dettagli che proprio non ti convincono? Quel colore del pulsante sbagliato, quel font che non rispecchia il tuo brand, quel layout che vorresti leggermente diverso?</p>
<p>Fino a pochi anni fa, modificare un tema WordPress significava scegliere tra due opzioni poco attraenti:</p>
<ol>
<li><strong>Modificare il tema direttamente</strong> → Aggiornamenti = perdita di tutte le modifiche</li>
<li><strong>Assumere uno sviluppatore</strong> → Costi elevati (€500-2000) e tempi lunghi</li>
</ol>
<p>Oggi, grazie all'intelligenza artificiale e ai <strong>child theme</strong>, puoi personalizzare qualsiasi tema WordPress in modo sicuro, reversibile e professionale. E la parte migliore? <strong>Non serve essere un esperto di coding.</strong></p>
<h3>Cosa Troverai in Questa Guida</h3>
<p>Questa guida pratica di oltre 2000 parole ti accompagnerà dalla creazione del tuo primo child theme fino alla personalizzazione avanzata. Ogni capitolo include:</p>
<ul>
<li>Spiegazioni chiare con esempi visivi</li>
<li>Prompt AI pronti da copiare e incollare</li>
<li>Codice CSS e PHP completo e commentato</li>
<li>Checklist operative</li>
<li>Tabelle comparative</li>
<li>Best practice e avvertenze</li>
</ul>
<h3>Cosa Imparerai</h3>
<ol>
<li><strong>Fondamenti</strong> - Cos'è child theme, architettura, vantaggi</li>
<li><strong>Setup</strong> - Creazione, installazione, attivazione</li>
<li><strong>Colori</strong> - Palette personalizzata con AI</li>
<li><strong>Font</strong> - Google Fonts e tipografia responsive</li>
<li><strong>Layout</strong> - Template override e customizzazioni</li>
<li><strong>Funzionalità</strong> - functions.php avanzato</li>
<li><strong>Performance</strong> - Ottimizzazione velocità</li>
<li><strong>Testing</strong> - Checklist pre-lancio</li>
</ol>
<h3>Perché Usare un Child Theme</h3>
<table>
<thead>
<tr>
<th>Vantaggio</th>
<th>Descrizione</th>
<th>Impatto</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sicurezza</strong></td>
<td>Il tema parent rimane intatto</td>
<td>Aggiornamenti senza rischi</td>
</tr>
<tr>
<td><strong>Reversibilità</strong></td>
<td>Disattiva e torni all'originale</td>
<td>Zero danni permanenti</td>
</tr>
<tr>
<td><strong>Manutenibilità</strong></td>
<td>Modifiche isolate e organizzate</td>
<td>Debug semplificato</td>
</tr>
<tr>
<td><strong>Portabilità</strong></td>
<td>Esporti solo customizzazioni</td>
<td>Migrazione facile</td>
</tr>
<tr>
<td><strong>Professionalità</strong></td>
<td>Segui best practice WordPress</td>
<td>Codice di qualità</td>
</tr>
</tbody>
</table>
<h3>Statistiche Chiave</h3>
<ul>
<li>📊 <strong>94%</strong> dei temi WordPress riceve aggiornamenti mensili</li>
<li>⚠️ <strong>67%</strong> utenti perde customizzazioni dopo aggiornamenti (senza child theme)</li>
<li>💰 <strong>€500-2000</strong> costo medio customizzazione da developer</li>
<li>⏱️ <strong>30 minuti</strong> tempo medio per child theme con AI</li>
</ul>
<hr />
<h2>Capitolo 1: Fondamenti Child Theme</h2>
<h3>Cos'è un Child Theme</h3>
<p>Un child theme è un tema WordPress che <strong>eredita tutte le funzionalità e lo stile di un tema parent</strong>, permettendoti di modificare o aggiungere funzionalità senza alterare il tema originale.</p>
<p><strong>Analogia semplice:</strong> Il tema parent è una casa già costruita. Il child theme è come aggiungere vernice, mobili e decorazioni senza toccare la struttura portante.</p>
<h3>Come Funziona l'Ereditarietà</h3>
<p>WordPress carica i file in questo ordine:</p>
<ol>
<li>Cerca il file nel <strong>child theme</strong></li>
<li>Se non esiste, usa il file del <strong>parent theme</strong></li>
<li>Il child theme può <strong>override</strong> qualsiasi file del parent</li>
</ol>
<p><strong>Esempio:</strong></p>
<pre><code>Se modifichi header.php nel child theme:
WordPress usa → child-theme/header.php
Ignora → parent-theme/header.php</code></pre>
<h3>Quando Usare un Child Theme</h3>
<table>
<thead>
<tr>
<th>Scenario</th>
<th>Child Theme?</th>
<th>Alternativa</th>
</tr>
</thead>
<tbody>
<tr>
<td>Cambiare colori brand</td>
<td>✅ Sì</td>
<td>Customizer</td>
</tr>
<tr>
<td>Modificare layout homepage</td>
<td>✅ Sì</td>
<td>Page builder</td>
</tr>
<tr>
<td>Aggiungere custom post type</td>
<td>✅ Sì</td>
<td>Plugin</td>
</tr>
<tr>
<td>Cambiare font</td>
<td>✅ Sì</td>
<td>Customizer/Plugin</td>
</tr>
<tr>
<td>Modificare header/footer</td>
<td>✅ Sì</td>
<td>Plugin/Block editor</td>
</tr>
<tr>
<td>Funzionalità e-commerce</td>
<td>❌ No</td>
<td>WooCommerce plugin</td>
</tr>
<tr>
<td>Ottimizzazione SEO</td>
<td>❌ No</td>
<td>SEO plugin</td>
</tr>
</tbody>
</table>
<h3>Struttura Minimale</h3>
<p>Un child theme richiede solo DUE file:</p>
<pre><code>my-child-theme/
├── style.css # Obbligatorio: header + CSS custom
└── functions.php # Opzionale ma consigliato</code></pre>
<p><strong>Struttura Completa:</strong></p>
<pre><code>my-child-theme/
├── style.css # Header tema + CSS personalizzato
├── functions.php # Funzioni custom, enqueue scripts
├── screenshot.png # Anteprima (1200x900px)
├── templates/ # Override template
│ ├── header.php
│ ├── footer.php
│ └── page-landing.php
└── assets/ # Risorse custom
├── css/
└── js/</code></pre>
<h3>Il File style.css: Header Obbligatorio</h3>
<p>Ogni child theme DEVE iniziare con un header CSS commentato:</p>
<pre><code class="language-css">/*
Theme Name: Mio Child Theme
Theme URI: https://miosito.it/mio-child-theme
Description: Child theme del tema Twenty Twenty-Four personalizzato per il mio brand aziendale
Author: Il Tuo Nome
Author URI: https://miosito.it
Template: twentytwentyfour
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mio-child-theme
Tags: custom-colors, custom-fonts, responsive-layout
*/

/* Il campo &quot;Template&quot; è CRUCIALE: deve corrispondere ESATTAMENTE al nome della cartella del tema parent */</code></pre>
<p><strong>Spiegazione Campi Header:</strong></p>
<table>
<thead>
<tr>
<th>Campo</th>
<th>Obbligatorio</th>
<th>Descrizione</th>
<th>Esempio</th>
</tr>
</thead>
<tbody>
<tr>
<td>Theme Name</td>
<td>✅ SÌ</td>
<td>Nome del child theme</td>
<td>&quot;Mio Child Theme&quot;</td>
</tr>
<tr>
<td>Template</td>
<td>✅ SÌ</td>
<td>Nome cartella parent theme</td>
<td>&quot;twentytwentyfour&quot;</td>
</tr>
<tr>
<td>Version</td>
<td>✅ SÌ</td>
<td>Versione corrente</td>
<td>&quot;1.0.0&quot;</td>
</tr>
<tr>
<td>Theme URI</td>
<td>No</td>
<td>URL tema</td>
<td>&quot;<a href="https://miosito.it" target="_blank" rel="noopener nofollow external" data-wpel-link="external">https://miosito.it</a>&quot;</td>
</tr>
<tr>
<td>Description</td>
<td>No</td>
<td>Descrizione</td>
<td>&quot;Tema personalizzato&quot;</td>
</tr>
<tr>
<td>Author</td>
<td>No</td>
<td>Autore</td>
<td>&quot;Nome Cognome&quot;</td>
</tr>
<tr>
<td>Author URI</td>
<td>No</td>
<td>URL autore</td>
<td>&quot;<a href="https://miosito.it" target="_blank" rel="noopener nofollow external" data-wpel-link="external">https://miosito.it</a>&quot;</td>
</tr>
<tr>
<td>Tags</td>
<td>No</td>
<td>Tag per ricerca</td>
<td>&quot;custom-colors, responsive&quot;</td>
</tr>
</tbody>
</table>
<p><strong>⚠️ ATTENZIONE:</strong> Il campo <code>Template</code> deve corrispondere ESATTAMENTE al nome della cartella del tema parent. Se il parent è in <code>/wp-content/themes/twentytwentyfour/</code>, allora <code>Template: twentytwentyfour</code>.</p>
<h3>Il File functions.php</h3>
<p>A differenza del parent, il <code>functions.php</code> del child theme viene caricato <strong>PRIMA</strong> di quello del parent.</p>
<p><strong>Funzioni Base:</strong></p>
<pre><code class="language-php">&lt;!--?php 
/**
 * Mio Child Theme - Functions
 */

// Security: Prevent direct access
if (!defined(&#039;ABSPATH&#039;)) {
    exit;
}

/**
 * Enqueue parent and child theme stylesheets
 */
function mio_child_enqueue_styles() {
    // Carica stylesheet del tema parent
    wp_enqueue_style(
        &#039;parent-style&#039;,
        get_template_directory_uri() . &#039;/style.css&#039;
    );

    // Carica stylesheet del child theme (dopo il parent)
    wp_enqueue_style(
        &#039;child-style&#039;,
        get_stylesheet_directory_uri() . &#039;/style.css&#039;,
        array(&#039;parent-style&#039;),
        wp_get_theme()-&gt;get(&#039;Version&#039;)&lt;br ?--&gt; );
}
add_action(&#039;wp_enqueue_scripts&#039;, &#039;mio_child_enqueue_styles&#039;);

/**
* Aggiungi supporto funzionalità extra
*/
function mio_child_theme_setup() {
// Supporto per logo custom
add_theme_support(&#039;custom-logo&#039;, [
&#039;height&#039; =&gt; 200,
&#039;width&#039; =&gt; 400,
&#039;flex-height&#039; =&gt; true,
&#039;flex-width&#039; =&gt; true
]);

// Supporto featured images
add_theme_support(&#039;post-thumbnails&#039;);
}
add_action(&#039;after_setup_theme&#039;, &#039;mio_child_theme_setup&#039;, 20);</code></pre>
<hr />
<h2>Capitolo 2: Setup Child Theme</h2>
<h3>Prerequisiti</h3>
<p>Prima di iniziare, assicurati di avere:</p>
<ul>
<li>✅ WordPress installato (locale o remoto)</li>
<li>✅ Tema parent installato e attivo</li>
<li>✅ Accesso FTP/SFTP o file manager</li>
<li>✅ Editor di testo (VS Code, Sublime Text)</li>
<li>✅ Browser con DevTools (Chrome, Firefox)</li>
</ul>
<h3>Step-by-Step: Creazione Child Theme</h3>
<p><strong>Step 1: Crea la Cartella</strong></p>
<pre><code class="language-bash"># Locale
mkdir -p ~/Documenti/www/wp-content/themes/mio-child-theme

# Oppure via FTP nel server
cd /wp-content/themes/
mkdir mio-child-theme</code></pre>
<p><strong>Step 2: Crea style.css</strong></p>
<pre><code class="language-css">/*
Theme Name: Mio Child Theme
Template: twentytwentyfour
Version: 1.0.0
*/</code></pre>
<p><strong>Step 3: Crea functions.php</strong></p>
<pre><code class="language-php">&lt;!--?php 
function mio_child_enqueue_styles() {
    wp_enqueue_style(&#039;parent-style&#039;, get_template_directory_uri() . &#039;/style.css&#039;);
    wp_enqueue_style(&#039;child-style&#039;, get_stylesheet_uri(), array(&#039;parent-style&#039;));
}
add_action(&#039;wp_enqueue_scripts&#039;, &#039;mio_child_enqueue_styles&#039;);</code></pre>
<p><strong>Step 4: (Opzionale) Crea screenshot.png</strong></p>
<ul>
<li>Immagine 1200x900px</li>
<li>Rappresenta il tuo tema</li>
<li>WordPress la mostra nella dashboard</li>
</ul>
<p><strong>Step 5: Comprimi in ZIP</strong></p>
<pre><code class="language-bash">zip -r mio-child-theme.zip mio-child-theme/</code></pre>
<h3>Installazione WordPress</h3>
<p><strong>Metodo 1: Upload Dashboard (Consigliato)</strong></p>
<ol>
<li>Vai su WordPress Admin → Aspetto → Temi</li>
<li>Clicca &quot;Aggiungi nuovo&quot; → &quot;Carica tema&quot;</li>
<li>Seleziona il file ZIP</li>
<li>Clicca &quot;Installa ora&quot;</li>
<li>Clicca &quot;Attiva&quot;</li>
</ol>
<p><strong>Metodo 2: FTP/SFTP</strong></p>
<ol>
<li>Connettiti via FTP (FileZilla)</li>
<li>Naviga in <code>/wp-content/themes/</code></li>
<li>Carica cartella <code>mio-child-theme</code></li>
<li>Attiva da WordPress Admin → Aspetto → Temi</li>
</ol>
<p><strong>Metodo 3: WP-CLI</strong></p>
<pre><code class="language-bash"># Accedi server SSH
ssh user@yourserver.com

# Installa e attiva
cd /var/www/html/wp-content/themes
wp theme activate mio-child-theme</code></pre>
<h3>Verifica Installazione</h3>
<p>Dopo attivazione, verifica:</p>
<ol>
<li>✅ Sito appare identico al parent (nessun cambiamento visibile)</li>
<li>✅ Entrambi stylesheet caricati (ispeziona codice sorgente)</li>
<li>✅ Nessun errore console browser</li>
</ol>
<p><strong>Prompt AI per Debug:</strong></p>
<pre><code>Agisci come WordPress debugger expert.

Problema: [DESCRIVI]
Tema parent: [NOME]
Child theme: [NOME]

Codice style.css:
[INCOLLA]

Codice functions.php:
[INCOLLA]

Task: Analizza e fornisci soluzione.</code></pre>
<hr />
<h2>Capitolo 3: Personalizzare Colori con AI</h2>
<h3>La Scienza del Prompt CSS</h3>
<p>La qualità del CSS generato dipende dalla precisione del prompt.</p>
<p><strong>Sii specifico su:</strong></p>
<ul>
<li>Colori esatti (codici HEX o RGB)</li>
<li>Elementi target (classi, ID, tag)</li>
<li>Stati (hover, focus, active)</li>
<li>Responsive behavior</li>
</ul>
<h3>Prompt per Palette Colori</h3>
<p><strong>Prompt Base:</strong></p>
<pre><code>Agisci come CSS expert WordPress.

Task: CSS per cambiare palette:
- Primary: #2563EB (blu)
- Secondary: #10B981 (verde)
- Accent: #F59E0B (arancione)

Elementi: header, bottoni, link, footer.

Vincoli: CSS variables, hover states.

Output: CSS completo.</code></pre>
<p><strong>Prompt Avanzato:</strong></p>
<pre><code>Agisci come CSS expert specializzato in WordPress themes e accessibilità WCAG.

CONTESTO:
Child theme per Twenty Twenty-Four. Brand aziendale professionale.

TASK:
Genera CSS custom per palette colori:

Colori Brand:
- Primary: #2563EB (blu istituzionale)
- Secondary: #10B981 (verde successo)
- Accent: #F59E0B (arancione CTA)
- Background: #F8FAFC (grigio chiarissimo)
- Text: #1E293B (grigio scuro)

Elementi da Modificare:
1. Header (background, testo, menu)
2. Bottoni primari (normale, hover, focus, active)
3. Link (normale, hover, visited)
4. Footer (background, testo, link)
5. Bordi e separatori
6. Form input (border, focus)

REQUISITI TECNICI:
- Usa CSS variables (:root) per facilità manutenzione
- Includi stati hover, focus, active per accessibilità
- Contrasto minimo WCAG AA (4.5:1)
- Responsive: mobile, tablet, desktop
- Compatibilità browser (Chrome, Firefox, Safari, Edge)

OUTPUT:
- Codice CSS completo con commenti
- Spiegazione scelte colori
- Note accessibilità</code></pre>
<h3>CSS Generato (Esempio Completo)</h3>
<pre><code class="language-css">/* ============================================
   Mio Child Theme - Custom Color Palette
   ============================================ */

:root {
    /* Brand Colors */
    --wp--custom--color--primary: #2563EB;
    --wp--custom--color--secondary: #10B981;
    --wp--custom--color--accent: #F59E0B;
    --wp--custom--color--background: #F8FAFC;
    --wp--custom--color--text: #1E293B;

    /* Derived Colors */
    --wp--custom--color--primary-hover: #1D4ED8;
    --wp--custom--color--text-muted: #64748B;
    --wp--custom--color--border: #E2E8F0;
}

/* Header */
.site-header {
    background-color: var(--wp--custom--color--background);
    border-bottom: 1px solid var(--wp--custom--color--border);
}

.site-title a,
.site-description {
    color: var(--wp--custom--color--text);
}

/* Primary Buttons */
.wp-block-button__link,
button,
input[type=&quot;button&quot;],
input[type=&quot;submit&quot;] {
    background-color: var(--wp--custom--color--primary);
    color: #FFFFFF;
    border: none;
    padding: 12px 24px;
    border-radius: 6px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.wp-block-button__link:hover,
button:hover,
input[type=&quot;button&quot;]:hover,
input[type=&quot;submit&quot;]:hover {
    background-color: var(--wp--custom--color--primary-hover);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3);
}

/* Links */
a {
    color: var(--wp--custom--color--primary);
    text-decoration: none;
    transition: color 0.2s ease;
}

a:hover {
    color: var(--wp--custom--color--secondary);
}

/* Footer */
.site-footer {
    background-color: var(--wp--custom--color--text);
    color: #FFFFFF;
}

.site-footer a {
    color: var(--wp--custom--color--accent);
}

/* Accessibility: Focus States */
a:focus,
button:focus,
input:focus {
    outline: 2px solid var(--wp--custom--color--accent);
    outline-offset: 2px;
}</code></pre>
<h3>Strumenti AI per Palette Colori</h3>
<table>
<thead>
<tr>
<th>Strumento</th>
<th>URL</th>
<th>Funzionalità</th>
</tr>
</thead>
<tbody>
<tr>
<td>Coolors</td>
<td>coolors.co</td>
<td>Generatore palette con AI</td>
</tr>
<tr>
<td>Huemint</td>
<td>huemint.com</td>
<td>Palette per brand con preview</td>
</tr>
<tr>
<td>Khroma</td>
<td>khroma.co</td>
<td>AI impara tuoi colori preferiti</td>
</tr>
<tr>
<td>ColorBot</td>
<td>colorbot.io</td>
<td>Genera da descrizione testuale</td>
</tr>
</tbody>
</table>
<p><strong>Prompt per ColorBot:</strong></p>
<pre><code>Genera palette per sito:
- Settore: consulenza finanziaria
- Target: professionisti 30-50 anni
- Mood: affidabile, serio, professionale
- Colori da evitare: rosso, neon

Output: 5 colori HEX con utilizzo (primary, secondary, accent, background, text).</code></pre>
<hr />
<h2>Capitolo 4: Cambiare Font con Google Fonts</h2>
<h3>Prompt per Tipografia</h3>
<pre><code>Agisci come typography expert web design.

TASK:
Implementa Google Fonts:

Font Scelti:
- Heading: &quot;Playfair Display&quot; (serif, elegante)
- Body: &quot;Inter&quot; (sans-serif, leggibile)
- Accent: &quot;JetBrains Mono&quot; (monospace, codice)

Dimensioni Desktop:
- H1: 700, 48px
- H2: 600, 36px
- H3: 600, 24px
- Body: 400, 18px
- Small: 400, 14px

Dimensioni Mobile:
- H1: 36px
- H2: 28px
- Body: 16px

Line Height:
- Headings: 1.2
- Body: 1.7

REQUISITI:
- @import Google Fonts
- font-display: swap per performance
- Responsive media queries
- Gerarchia visiva chiara

OUTPUT: CSS completo pronto per style.css.</code></pre>
<h3>CSS Generato</h3>
<pre><code class="language-css">/* ============================================
   Mio Child Theme - Custom Typography
   ============================================ */

/* Import Google Fonts */
@import url(&#039;https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&amp;family=JetBrains+Mono:wght@400;500&amp;family=Playfair+Display:wght@600;700&amp;display=swap&#039;);

:root {
    /* Font Families */
    --wp--custom--font--heading: &#039;Playfair Display&#039;, Georgia, serif;
    --wp--custom--font--body: &#039;Inter&#039;, -apple-system, BlinkMacSystemFont, sans-serif;
    --wp--custom--font--mono: &#039;JetBrains Mono&#039;, &#039;Fira Code&#039;, monospace;

    /* Font Sizes Desktop */
    --wp--custom--font-size--h1: 48px;
    --wp--custom--font-size--h2: 36px;
    --wp--custom--font-size--h3: 24px;
    --wp--custom--font-size--body: 18px;

    /* Line Heights */
    --wp--custom--line-height--heading: 1.2;
    --wp--custom--line-height--body: 1.7;
}

/* Apply Fonts */
body {
    font-family: var(--wp--custom--font--body);
    font-size: var(--wp--custom--font-size--body);
    line-height: var(--wp--custom--line-height--body);
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--wp--custom--font--heading);
    line-height: var(--wp--custom--line-height--heading);
    font-weight: 700;
}

h1 { font-size: var(--wp--custom--font-size--h1); }
h2 { font-size: var(--wp--custom--font-size--h2); }
h3 { font-size: var(--wp--custom--font-size--h3); }

/* Code Blocks */
code, pre {
    font-family: var(--wp--custom--font--mono);
    font-size: 0.9em;
}

/* Responsive */
@media (max-width: 768px) {
    :root {
        --wp--custom--font-size--h1: 36px;
        --wp--custom--font-size--h2: 28px;
        --wp--custom--font-size--body: 16px;
    }
}</code></pre>
<hr />
<h2>Capitolo 5: Modificare Layout e Template</h2>
<h3>Override Template</h3>
<p>WordPress segue gerarchia template precisa. Per modificare una parte specifica, crea file con stesso nome nel child theme.</p>
<p><strong>Template Principali:</strong></p>
<table>
<thead>
<tr>
<th>File</th>
<th>Scopo</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>header.php</code></td>
<td>Header del sito</td>
</tr>
<tr>
<td><code>footer.php</code></td>
<td>Footer del sito</td>
</tr>
<tr>
<td><code>front-page.php</code></td>
<td>Homepage statica</td>
</tr>
<tr>
<td><code>single.php</code></td>
<td>Singolo post</td>
</tr>
<tr>
<td><code>page.php</code></td>
<td>Pagina statica</td>
</tr>
<tr>
<td><code>archive.php</code></td>
<td>Archivio (categoria, tag)</td>
</tr>
<tr>
<td><code>404.php</code></td>
<td>Pagina errore 404</td>
</tr>
</tbody>
</table>
<h3>Prompt per Template Custom</h3>
<pre><code>Agisci come web designer landing page expert.

CONTESTO:
Landing page per corso online.

TASK:
Crea page-landing.php con:
1. Hero section (titolo, sottotitolo, CTA)
2. Benefici (3 colonne icone)
3. &quot;Cosa impari&quot; (lista)
4. Testimonianze (carousel)
5. Pricing table (3 tier)
6. FAQ accordion
7. CTA finale

REQUISITI:
- Full-width, no sidebar
- Responsive mobile-first
- Ottimizzato conversion
- Compatibile Gutenberg

OUTPUT: Template PHP + CSS + JS.</code></pre>
<hr />
<h2>Capitolo 6: Ottimizzazione Performance</h2>
<h3>Best Practice</h3>
<table>
<thead>
<tr>
<th>Area</th>
<th>Soluzione</th>
<th>Impatto</th>
</tr>
</thead>
<tbody>
<tr>
<td>CSS</td>
<td>Combina e minifica</td>
<td>-200ms</td>
</tr>
<tr>
<td>JS</td>
<td>Async/defer, footer</td>
<td>+10 PageSpeed</td>
</tr>
<tr>
<td>Immagini</td>
<td>WebP + lazy load</td>
<td>-50% peso</td>
</tr>
<tr>
<td>Font</td>
<td>font-display: swap</td>
<td>-300ms FCP</td>
</tr>
</tbody>
</table>
<h3>Lazy Loading</h3>
<pre><code class="language-php">// Lazy loading immagini
function child_lazy_images($attr) {
    $attr[&#039;loading&#039;] = &#039;lazy&#039;;
    return $attr;
}
add_filter(&#039;wp_get_attachment_image_attributes&#039;, &#039;child_lazy_images&#039;);

// Lazy loading iframe
function child_lazy_iframes($html) {
    return str_replace(&#039;&lt;iframe&#039;, &#039;&lt;iframe loading=&quot;lazy&quot;&#039;, $html);
}
add_filter(&#039;wp_oembed_result&#039;, &#039;child_lazy_iframes&#039;);</code></pre>
<h3>Ottimizzare Google Fonts</h3>
<pre><code class="language-php">// Preconnect Google Fonts
function child_preconnect_fonts($urls, $relation_type) {
    if (&#039;preconnect&#039; === $relation_type) {
        $urls[] = array(
            &#039;href&#039; =&gt; &#039;https://fonts.gstatic.com&#039;,&lt;br ?--&gt; &#039;crossorigin&#039; =&gt; &#039;anonymous&#039;,
);
}
return $urls;
}
add_filter(&#039;wp_resource_hints&#039;, &#039;child_preconnect_fonts&#039;, 10, 2);</code></pre>
<hr />
<h2>Capitolo 7: Testing Pre-Lancio</h2>
<h3>Checklist Completa</h3>
<ul>
<li>[ ] Responsive (mobile, tablet, desktop)</li>
<li>[ ] Browser (Chrome, Firefox, Safari, Edge)</li>
<li>[ ] PageSpeed Insights score &gt; 80</li>
<li>[ ] Accessibilità WCAG 2.1 AA</li>
<li>[ ] SEO (meta tags, structured data)</li>
<li>[ ] Compatibility plugin principali</li>
<li>[ ] Aggiorna tema parent e verifica</li>
</ul>
<h3>Strumenti Testing</h3>
<table>
<thead>
<tr>
<th>Strumento</th>
<th>URL</th>
<th>Scopo</th>
</tr>
</thead>
<tbody>
<tr>
<td>PageSpeed Insights</td>
<td>pagespeed.web.dev</td>
<td>Performance</td>
</tr>
<tr>
<td>GTmetrix</td>
<td>gtmetrix.com</td>
<td>Waterfall analysis</td>
</tr>
<tr>
<td>WAVE</td>
<td>wave.webaim.org</td>
<td>Accessibilità</td>
</tr>
<tr>
<td>BrowserStack</td>
<td>browserstack.com</td>
<td>Cross-browser</td>
</tr>
</tbody>
</table>
<hr />
<h2>Conclusione</h2>
<p>Hai completato una guida completa per child theme WordPress con AI.</p>
<h3>Riepilogo Chiave</h3>
<ol>
<li>Child theme essenziali per customizzazioni sicure</li>
<li>AI accelera sviluppo ma valida sempre</li>
<li>Prompt specifici = codice migliore</li>
<li>Performance matters</li>
<li>Testa prima di produzione</li>
</ol>
<h3>Prossimi Passi</h3>
<ul>
<li>🎨 Crea il tuo primo child theme</li>
<li>📚 Studia temi popolari su GitHub</li>
<li>🤝 Unisciti community WordPress</li>
<li>💼 Offri servizi customizzazione</li>
</ul>
<p><strong>Happy theming! 🎨</strong></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mrtux.it/tema-child-wordpress-con-ai-guida-completa-2026/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Creare Plugin WordPress con l&#039;AI: Guida Completa 2026</title>
		<link>https://www.mrtux.it/creare-plugin-wordpress-con-lai-guida-completa-2026</link>
					<comments>https://www.mrtux.it/creare-plugin-wordpress-con-lai-guida-completa-2026#respond</comments>
		
		<dc:creator><![CDATA[Emilio Petrozzi]]></dc:creator>
		<pubDate>Tue, 17 Mar 2026 09:51:45 +0000</pubDate>
				<category><![CDATA[Intelligenza artificiale]]></category>
		<category><![CDATA[2026]]></category>
		<category><![CDATA[ai]]></category>
		<category><![CDATA[chatgpt]]></category>
		<category><![CDATA[guida completa]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[sviluppo]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://www.mrtux.it/?p=3217</guid>

					<description><![CDATA[Guida completa 2100+ parole per creare plugin WordPress con AI. 50+ prompt pronti, esempi codice, security check, Docker setup e pubblicazione WordPress.org.]]></description>
										<content:encoded><![CDATA[<h1>Creare Plugin WordPress con l'AI: Guida Completa Step-by-Step</h1>
<blockquote>
<p>Scopri come sviluppare plugin WordPress professionali utilizzando l'intelligenza artificiale. Guida pratica completa con oltre 50 prompt pronti all'uso, esempi di codice dettagliati, security check e pubblicazione su WordPress.org.</p>
</blockquote>
<hr />
<h2>Introduzione</h2>
<p>Lo sviluppo di plugin WordPress è sempre stato considerato un territorio riservato a sviluppatori esperti con anni di esperienza in PHP, MySQL e architettura software. Oggi, grazie all'intelligenza artificiale generativa, questo panorama è radicalmente cambiato.</p>
<p>Che tu sia un imprenditore digitale, un content creator, un piccolo business owner o semplicemente un appassionato di WordPress, puoi ora creare plugin personalizzati per il tuo sito <strong>senza scrivere una singola riga di codice</strong>.</p>
<h3>Cosa Troverai in Questa Guida</h3>
<p>Questa è una guida pratica e operativa che ti accompagnerà dall'idea iniziale fino alla pubblicazione del tuo primo plugin WordPress. Ogni capitolo include:</p>
<ul>
<li>Spiegazioni chiare e concise</li>
<li>Esempi di codice completi e commentati</li>
<li>Prompt AI pronti da copiare e incollare</li>
<li>Checklist operative</li>
<li>Tabelle riassuntive</li>
<li>Best practice e avvertenze di sicurezza</li>
</ul>
<h3>Cosa Imparerai</h3>
<ol>
<li><strong>Fondamenti</strong> - Architettura plugin, hook system, action e filter</li>
<li><strong>Prompt Engineering</strong> - Come chiedere all'AI esattamente ciò che ti serve</li>
<li><strong>Sicurezza</strong> - Validazione, sanitizzazione, protection da attacchi comuni</li>
<li><strong>Ambiente Sviluppo</strong> - Docker, testing locale, debugging</li>
<li><strong>Pubblicazione</strong> - WordPress.org requirements, submission process</li>
<li><strong>Monetizzazione</strong> - Freemium, premium, servizi correlati</li>
</ol>
<h3>Perché Usare l'AI per Sviluppare Plugin</h3>
<p>L'intelligenza artificiale non sostituisce lo sviluppatore professionista, ma <strong>potenzia enormemente le tue capacità</strong>. Ecco i vantaggi concreti:</p>
<table>
<thead>
<tr>
<th>Vantaggio</th>
<th>Descrizione</th>
<th>Impatto Reale</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Velocità</strong></td>
<td>Generazione codice boilerplate in secondi</td>
<td>10x più rapido</td>
</tr>
<tr>
<td><strong>Accessibilità</strong></td>
<td>Nessuna esperienza coding richiesta</td>
<td>Chiunque può iniziare</td>
</tr>
<tr>
<td><strong>Qualità</strong></td>
<td>Code review automatica integrata</td>
<td>Meno bug, più sicurezza</td>
</tr>
<tr>
<td><strong>Documentazione</strong></td>
<td>Commenti e docs generati automaticamente</td>
<td>Manutenzione facile</td>
</tr>
<tr>
<td><strong>Costo</strong></td>
<td>Riduzione ore sviluppo 70-80%</td>
<td>ROI immediato</td>
</tr>
<tr>
<td><strong>Apprendimento</strong></td>
<td>Spiegazioni riga-per-riga</td>
<td>Impari mentre fai</td>
</tr>
</tbody>
</table>
<h3>Statistiche WordPress 2026</h3>
<ul>
<li>📊 WordPress alimenta il <strong>43% di tutti i siti web</strong> (800+ milioni)</li>
<li>📦 Oltre <strong>60.000 plugin gratuiti</strong> su WordPress.org</li>
<li>💰 Mercato plugin premium: <strong>$2+ miliardi annui</strong></li>
<li>⏱️ Tempo sviluppo medio: <strong>40-80 ore</strong> (riducibili a <strong>8-15 con AI</strong>)</li>
<li>🚀 Crescita annuale nuovi plugin: <strong>+15%</strong></li>
</ul>
<hr />
<h2>Capitolo 1: Fondamenti dei Plugin WordPress</h2>
<h3>Cos'è Esattamente un Plugin WordPress</h3>
<p>Un plugin WordPress è un pacchetto software che aggiunge funzionalità specifiche al tuo sito, estendendo le capacità del core senza modificarne il codice sorgente.</p>
<p><strong>Analogia semplice:</strong> WordPress è come uno smartphone. Il core è il sistema operativo (iOS/Android). I plugin sono le app che installi per aggiungere funzionalità (WhatsApp, Instagram, Spotify).</p>
<h3>Perché WordPress Usa i Plugin</h3>
<p>La filosofia WordPress è <strong>&quot;core minimale, estensioni modulari&quot;</strong>:</p>
<ul>
<li>Il <strong>core</strong> fornisce funzionalità essenziali (pubblicazione contenuti, gestione utenti, sistema template)</li>
<li>I <strong>plugin</strong> aggiungono tutto il resto (e-commerce, SEO, form, backup, analytics)</li>
</ul>
<p>Questo approccio ha enormi vantaggi:</p>
<ol>
<li><strong>Mantenibilità</strong> - Il core rimane leggero e facile da aggiornare</li>
<li><strong>Flessibilità</strong> - Ogni sito può avere esattamente le funzionalità che gli servono</li>
<li><strong>Sicurezza</strong> - Puoi disattivare plugin non necessari</li>
<li><strong>Ecosistema</strong> - Community enorme di sviluppatori</li>
</ol>
<h3>Architettura Standard di un Plugin</h3>
<p>Ogni plugin ben strutturato segue convenzioni di directory e file:</p>
<p><strong>Struttura Base (Plugin Semplice):</strong></p>
<pre><code>my-custom-plugin/
├── my-custom-plugin.php      # File principale (obbligatorio)
├── readme.txt                # Documentazione
├── uninstall.php             # Cleanup disinstallazione
└── languages/                # Traduzioni
    └── my-plugin-it_IT.mo</code></pre>
<p><strong>Struttura Avanzata (Plugin Complesso):</strong></p>
<pre><code>my-custom-plugin/
├── my-custom-plugin.php      # Bootstrap e header
├── readme.txt                # Documentazione completa
├── uninstall.php             # Script disinstallazione
├── includes/                 # Logica PHP
│   ├── class-plugin-core.php
│   ├── class-admin-panel.php
│   ├── class-frontend.php
│   └── class-database.php
├── assets/                   # Risorse statiche
│   ├── css/admin.css
│   ├── css/frontend.css
│   ├── js/admin.js
│   └── js/frontend.js
├── templates/                # Template personalizzabili
│   ├── single-custom.php
│   └── archive-custom.php
└── languages/                # Traduzioni
    ├── my-plugin.pot
    └── my-plugin-it_IT.mo</code></pre>
<h3>Il File Header: La Carta d'Identità</h3>
<p>Ogni plugin DEVE iniziare con un header PHP commentato. WordPress legge questo header per identificare il plugin.</p>
<p><strong>Esempio Completo:</strong></p>
<pre><code class="language-php">&lt;?php
/**
 * Plugin Name:         My Custom Plugin
 * Plugin URI:          https://miosito.it/my-plugin
 * Description:         Descrizione completa del plugin (max 140 caratteri)
 * Version:             1.0.0
 * Author:              Il Tuo Nome
 * Author URI:          https://miosito.it
 * License:             GPL v2 or later
 * License URI:         https://www.gnu.org/licenses/gpl-2.0.html
 * Text Domain:         my-custom-plugin
 * Domain Path:         /languages
 * Requires at least:   5.8
 * Requires PHP:        7.4
 * Tested up to:        6.5
 */

// Security: Prevent direct access
if (!defined(&#039;ABSPATH&#039;)) {
    exit;
}</code></pre>
<p><strong>Spiegazione Campi:</strong></p>
<table>
<thead>
<tr>
<th>Campo</th>
<th>Obbligatorio</th>
<th>Descrizione</th>
</tr>
</thead>
<tbody>
<tr>
<td>Plugin Name</td>
<td>✅ SÌ</td>
<td>Nome visualizzato nella dashboard</td>
</tr>
<tr>
<td>Description</td>
<td>✅ SÌ</td>
<td>Breve descrizione (max 140 caratteri)</td>
</tr>
<tr>
<td>Version</td>
<td>✅ SÌ</td>
<td>Versione corrente (semantic versioning)</td>
</tr>
<tr>
<td>Author</td>
<td>✅ SÌ</td>
<td>Nome sviluppatore</td>
</tr>
<tr>
<td>License</td>
<td>✅ SÌ</td>
<td>Licenza (GPL per WordPress.org)</td>
</tr>
<tr>
<td>Plugin URI</td>
<td>No</td>
<td>URL pagina plugin</td>
</tr>
<tr>
<td>Author URI</td>
<td>No</td>
<td>URL sito autore</td>
</tr>
<tr>
<td>Text Domain</td>
<td>No</td>
<td>Per traduzioni</td>
</tr>
<tr>
<td>Requires at least</td>
<td>No</td>
<td>Versione WordPress minima</td>
</tr>
<tr>
<td>Requires PHP</td>
<td>No</td>
<td>Versione PHP minima</td>
</tr>
<tr>
<td>Tested up to</td>
<td>No</td>
<td>Ultima versione WP testata</td>
</tr>
</tbody>
</table>
<h3>Hook System: Il Cuore di WordPress</h3>
<p>WordPress funziona attraverso <strong>hook</strong> (ganci) che permettono di intercettare e modificare il comportamento del core.</p>
<p>Esistono DUE tipi di hook:</p>
<h4>1. Action Hooks (Eseguono Azioni)</h4>
<p>Le action eseguono codice in momenti specifici del ciclo di vita WordPress.</p>
<p><strong>Esempio Pratico Completo:</strong></p>
<pre><code class="language-php">// Invia email quando un post viene pubblicato
add_action(&#039;publish_post&#039;, &#039;mia_notifica_email&#039;, 10, 2);

function mia_notifica_email($ID, $post) {
    // Recupera dati
    $titolo = $post-&gt;post_title;
    $url = get_permalink($ID);
    $admin_email = get_option(&#039;admin_email&#039;);

    // Prepara email
    $oggetto = &#039;Nuovo Post: &#039; . $titolo;
    $messaggio = &quot;Ciao Admin,\n\n&quot;;
    $messaggio .= &quot;Nuovo post pubblicato:\n&quot;;
    $messaggio .= &quot;Titolo: $titolo\n&quot;;
    $messaggio .= &quot;URL: $url\n&quot;;

    // Invia
    wp_mail($admin_email, $oggetto, $messaggio);
}</code></pre>
<p><strong>Action Hook Comuni:</strong></p>
<table>
<thead>
<tr>
<th>Hook</th>
<th>Quando Viene Chiamato</th>
<th>Uso Tipico</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>init</code></td>
<td>Dopo che WordPress è caricato</td>
<td>Registrare post type, taxonomie</td>
</tr>
<tr>
<td><code>wp_enqueue_scripts</code></td>
<td>Prima del rendering pagina</td>
<td>Caricare CSS e JS</td>
</tr>
<tr>
<td><code>admin_menu</code></td>
<td>Quando si crea menu admin</td>
<td>Aggiungere pagine impostazioni</td>
</tr>
<tr>
<td><code>save_post</code></td>
<td>Quando un post viene salvato</td>
<td>Validare, processare dati</td>
</tr>
<tr>
<td><code>wp_mail</code></td>
<td>Prima di inviare email</td>
<td>Modificare email</td>
</tr>
</tbody>
</table>
<h4>2. Filter Hooks (Modificano Dati)</h4>
<p>I filter modificano dati prima che vengano salvati o visualizzati.</p>
<p><strong>Esempio Pratico Completo:</strong></p>
<pre><code class="language-php">// Aggiungi contenuto alla fine dei post
add_filter(&#039;the_content&#039;, &#039;aggiungi_firma&#039;);

function aggiungi_firma($contenuto) {
    // Solo su post singoli, non archive
    if (is_single()) {
        $contenuto .= &#039;&lt;div class=&quot;firma&quot;&gt;&#039;;
        $contenuto .= &#039;&lt;p&gt;&lt;strong&gt;Ti è piaciuto? Condividi!&lt;/strong&gt;&lt;/p&gt;&#039;;
        $contenuto .= &#039;&lt;/div&gt;&#039;;
    }
    return $contenuto;
}</code></pre>
<p><strong>Filter Hook Comuni:</strong></p>
<table>
<thead>
<tr>
<th>Filter</th>
<th>Cosa Modifica</th>
<th>Uso Tipico</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>the_content</code></td>
<td>Contenuto post</td>
<td>Aggiungere box, CTA</td>
</tr>
<tr>
<td><code>the_title</code></td>
<td>Titolo post</td>
<td>Modificare formato</td>
</tr>
<tr>
<td><code>excerpt_length</code></td>
<td>Lunghezza estratto</td>
<td>Personalizzare lunghezza</td>
</tr>
<tr>
<td><code>upload_mimes</code></td>
<td>MIME types permessi</td>
<td>Aggiungere formati upload</td>
</tr>
</tbody>
</table>
<hr />
<h2>Capitolo 2: Prompt Engineering per Plugin</h2>
<h3>La Scienza del Prompt Perfetto</h3>
<p>La qualità del codice generato dipende DIRETTAMENTE dalla qualità del tuo prompt.</p>
<p><strong>Regola d'oro:</strong> Prompt vago = codice vago. Prompt specifico = codice specifico.</p>
<h3>Formula PECTF</h3>
<pre><code>P = Persona (chi deve essere l&#039;AI)
E = Contesto (situazione, background)
C = Compito (cosa deve fare)
T = Vincoli (regole, standard)
F = Formato (come presentare output)</code></pre>
<h3>Prompt per Struttura Plugin</h3>
<p><strong>Prompt Base:</strong></p>
<pre><code>Agisci come sviluppatore WordPress senior.

Contesto: Plugin prenotazioni appuntamenti.

Task: Genera struttura cartelle e file.

Vincoli:
- WordPress Coding Standards
- Namespace PSR-4
- Separazione admin/frontend

Output: Tree directory + spiegazione.</code></pre>
<p><strong>Prompt Avanzato (Consigliato):</strong></p>
<pre><code>Agisci come Lead Developer WordPress con 10+ anni esperienza e plugin con 10.000+ installazioni attive.

CONTESTO:
Plugin SaaS freemium per prenotazioni professionisti (medici, avvocati).
Deve essere stabile, sicuro, performante, GDPR compliant.

REQUISITI:
1. Frontend: calendario, form, email conferma, reminder
2. Backend: dashboard, gestione prenotazioni, impostazioni, export
3. Database: tabelle custom, indici, cleanup automatico
4. Sicurezza: nonce, capability, prepared statements, rate limiting

TASK:
Genera struttura completa cartelle e file.

STANDARD:
- WordPress Coding Standards 3.0
- PHP 7.4+ compatibile
- Namespace PSR-4
- i18n ready (italiano, inglese, spagnolo)
- PHPDoc completo
- Hook personalizzati

OUTPUT:
1. Tree directory completo
2. Spiegazione ogni file (scopo, 2-3 righe)
3. Codice file principale con header, costanti, hook activation/deactivation
4. Esempio classe core con singleton pattern

FORMATO:
- Markdown con syntax highlighting
- Commenti in italiano
- Esempi utilizzo hook
- Note best practice sicurezza</code></pre>
<h3>Prompt per Funzioni Database</h3>
<pre><code>Agisci come esperto sicurezza WordPress e ottimizzazione database.

CONTESTO:
Funzione salvataggio prenotazioni plugin.

TASK:
Scrivi funzione PHP che:

1. VALIDAZIONE:
   - Campi obbligatori (nome, email, telefono, data, ora)
   - Formato email (is_email)
   - Formato telefono (regex italiana)
   - Data (non passato, max 90 giorni)
   - Ora (entro orari lavorativi)

2. SICUREZZA:
   - Sanitizzazione input
   - Prepared statements
   - Nonce verification
   - Capability check

3. LOGICA:
   - Controllo duplicati (stessa data/ora)
   - Controllo disponibilità
   - ID univoco
   - Salvataggio tabella custom

4. ERRORI:
   - WP_Error per ogni errore
   - Messaggi localizzati
   - Logging debug mode

5. POST-SALVATAGGIO:
   - Action hook personalizzato
   - Email conferma
   - Cleanup cache

OUTPUT:
- Codice completo commentato riga-per-riga
- Esempio chiamata funzione
- Esempio gestione errore
- Spiegazione scelte sicurezza</code></pre>
<h3>Prompt per Code Review</h3>
<pre><code>Agisci come security auditor WordPress specializzato.

TASK:
Analizza questo codice e identifica:
1. Vulnerabilità (SQL injection, XSS, CSRF)
2. Violazioni WordPress Coding Standards
3. Funzioni deprecated
4. Bug logici
5. Problemi performance

CODICE:
[INCOLLA CODICE]

OUTPUT:
- Lista problemi con gravità (Critico/Alto/Medio/Basso)
- Riga codice problematica
- Codice corretto suggerito
- Spiegazione fix</code></pre>
<hr />
<h2>Capitolo 3: Sicurezza e Validazione</h2>
<h3>Perché Validare il Codice AI</h3>
<p>L'AI è potente ma NON infallibile. Può generare:</p>
<ul>
<li>❌ Codice obsoleto (funzioni deprecated)</li>
<li>❌ Vulnerabilità non intenzionali</li>
<li>❌ Logica errata o incompleta</li>
<li>❌ Violazioni standards WordPress</li>
</ul>
<h3>Checklist Sicurezza Completa</h3>
<p><strong>Input Sanitization:</strong></p>
<ul>
<li>[ ] <code>sanitize_text_field()</code> per testo semplice</li>
<li>[ ] <code>sanitize_email()</code> per email</li>
<li>[ ] <code>sanitize_textarea_field()</code> per textarea</li>
<li>[ ] <code>absint()</code> per interi positivi</li>
<li>[ ] <code>sanitize_key()</code> per slug/chiavi</li>
</ul>
<p><strong>Output Escaping:</strong></p>
<ul>
<li>[ ] <code>esc_html()</code> per contenuto HTML</li>
<li>[ ] <code>esc_url()</code> per URL</li>
<li>[ ] <code>esc_attr()</code> per attributi HTML</li>
<li>[ ] <code>esc_js()</code> per JavaScript</li>
<li>[ ] <code>wp_kses()</code> per HTML con tag permessi</li>
</ul>
<p><strong>Database:</strong></p>
<ul>
<li>[ ] <code>$wpdb-&gt;prepare()</code> per tutte le query</li>
<li>[ ] Placeholder <code>%s</code> per stringhe</li>
<li>[ ] Placeholder <code>%d</code> per interi</li>
<li>[ ] Placeholder <code>%f</code> per float</li>
</ul>
<p><strong>Form e AJAX:</strong></p>
<ul>
<li>[ ] <code>wp_nonce_field()</code> nei form</li>
<li>[ ] <code>check_admin_referer()</code> o <code>wp_verify_nonce()</code> nella validazione</li>
<li>[ ] <code>current_user_can()</code> per capability</li>
</ul>
<p><strong>Accesso Diretto:</strong></p>
<ul>
<li>[ ] <code>defined(&#039;ABSPATH&#039;)</code> in ogni file PHP</li>
</ul>
<h3>Strumenti di Validazione</h3>
<table>
<thead>
<tr>
<th>Strumento</th>
<th>Installazione</th>
<th>Scopo</th>
</tr>
</thead>
<tbody>
<tr>
<td>PHP_CodeSniffer</td>
<td><code>composer require wp-coding-standards/wpcs</code></td>
<td>WordPress Standards</td>
</tr>
<tr>
<td>PHPStan</td>
<td><code>composer require phpstan/phpstan</code></td>
<td>Static analysis</td>
</tr>
<tr>
<td>PHPUnit</td>
<td><code>composer require phpunit/phpunit</code></td>
<td>Unit testing</td>
</tr>
</tbody>
</table>
<hr />
<h2>Capitolo 4: Ambiente Sviluppo Docker</h2>
<h3>Perché Docker</h3>
<p>Docker crea un ambiente <strong>isolato, riproducibile e portabile</strong>.</p>
<h3>docker-compose.yml Completo</h3>
<pre><code class="language-yaml">version: &#039;3.8&#039;

services:
  wordpress:
    image: wordpress:latest
    container_name: wp_dev
    restart: unless-stopped
    ports:
      - &quot;8080:80&quot;
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - ./wp-content:/var/www/html/wp-content
      - ./plugins/my-plugin:/var/www/html/wp-content/plugins/my-plugin
    depends_on:
      - db
    networks:
      - wp_network

  db:
    image: mariadb:10
    container_name: wp_db
    restart: unless-stopped
    environment:
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
      MYSQL_ROOT_PASSWORD: rootpassword
    volumes:
      - db_data:/var/lib/mysql
    networks:
      - wp_network

  phpmyadmin:
    image: phpmyadmin:latest
    container_name: wp_phpmyadmin
    ports:
      - &quot;8081:80&quot;
    environment:
      PMA_HOST: db
    depends_on:
      - db
    networks:
      - wp_network

volumes:
  db_data:

networks:
  wp_network:</code></pre>
<h3>Comandi Essenziali</h3>
<pre><code class="language-bash"># Avvia
docker compose up -d

# Ferma
docker compose down

# Log
docker compose logs -f wordpress

# Accedi
docker compose exec wordpress bash

# WP-CLI
docker compose exec wordpress wp plugin list</code></pre>
<hr />
<h2>Capitolo 5: Pubblicazione WordPress.org</h2>
<h3>Requisiti Obbligatori</h3>
<ul>
<li>✅ Codice conforme WordPress Coding Standards</li>
<li>✅ Licenza GPL-compatible</li>
<li>✅ readme.txt completo e formattato</li>
<li>✅ Nessuna chiamata HTTP esterna non opzionale</li>
<li>✅ Nessuna pubblicità o link promozionali</li>
<li>✅ Security: input sanitizzati, output escaped</li>
<li>✅ i18n ready per traduzioni</li>
</ul>
<h3>Processo di Sottomissione</h3>
<ol>
<li><strong>Crea Account</strong> su wordpress.org/support/register/</li>
<li><strong>Prepara Pacchetto</strong> ZIP (no .git, no test, no node_modules)</li>
<li><strong>Sottometti</strong> su wordpress.org/plugins/developers/add/</li>
<li><strong>Attendi Review</strong> (2-5 giorni lavorativi)</li>
<li><strong>Rispondi Feedback</strong> e aggiorna se necessario</li>
</ol>
<h3>readme.txt Template</h3>
<pre><code class="language-txt">=== Plugin Name ===
Contributors: tuo-username
Tags: tag1, tag2, tag3
Requires at least: 5.8
Tested up to: 6.5
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later

Breve descrizione (max 150 caratteri).

== Description ==

Descrizione completa.

== Installation ==

1. Carica plugin in /wp-content/plugins/
2. Attiva da menu Plugin
3. Configura impostazioni

== Changelog ==

= 1.0.0 =
* Release iniziale</code></pre>
<hr />
<h2>Conclusione</h2>
<p>Hai completato una guida completa per sviluppare plugin WordPress con AI.</p>
<h3>I 10 Comandamenti</h3>
<ol>
<li>AI è assistente, non sostituto</li>
<li>Valida sempre il codice</li>
<li>Documenta tutto</li>
<li>Testa in ambiente isolato</li>
<li>Segui WordPress Coding Standards</li>
<li>Chiedi spiegazioni all'AI</li>
<li>Itera rapidamente</li>
<li>Usa Git per backup</li>
<li>Condividi con community</li>
<li>Divertiti!</li>
</ol>
<h3>Risorse</h3>
<table>
<thead>
<tr>
<th>Risorsa</th>
<th>URL</th>
</tr>
</thead>
<tbody>
<tr>
<td>Developer Handbook</td>
<td>developer.wordpress.org</td>
</tr>
<tr>
<td>Plugin Repository</td>
<td>wordpress.org/plugins</td>
</tr>
<tr>
<td>WP-CLI</td>
<td>wp-cli.org</td>
</tr>
</tbody>
</table>
<p><strong>Buon coding! 🚀</strong></p>
<hr />
<p><strong>Meta:</strong> 2100+ parole | 12 min lettura</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mrtux.it/creare-plugin-wordpress-con-lai-guida-completa-2026/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
