<?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>WPCLI - Web Design | Creazione Siti Internet</title>
	<atom:link href="https://www.mrtux.it/tag/wpcli/feed" rel="self" type="application/rss+xml" />
	<link>https://www.mrtux.it</link>
	<description>Sviluppo Siti Web - Assistenza WordPress</description>
	<lastBuildDate>Tue, 02 Jun 2026 13:07:04 +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>WPCLI - Web Design | Creazione Siti Internet</title>
	<link>https://www.mrtux.it</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Creare plugin WordPress con AI: metodo completo</title>
		<link>https://www.mrtux.it/creare-plugin-wordpress-con-ai-metodo-completo</link>
					<comments>https://www.mrtux.it/creare-plugin-wordpress-con-ai-metodo-completo#respond</comments>
		
		<dc:creator><![CDATA[Emilio Petrozzi]]></dc:creator>
		<pubDate>Tue, 02 Jun 2026 13:06:09 +0000</pubDate>
				<category><![CDATA[sviluppo-web]]></category>
		<category><![CDATA[AI Coding]]></category>
		<category><![CDATA[intelligenza artificiale]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[plugin wordpress]]></category>
		<category><![CDATA[sicurezza wordpress]]></category>
		<category><![CDATA[Sviluppo WordPress]]></category>
		<category><![CDATA[WPCLI]]></category>
		<guid isPermaLink="false">https://www.mrtux.it/creare-plugin-wordpress-con-ai-metodo-completo</guid>

					<description><![CDATA[Metodo operativo in 9 fasi per creare plugin WordPress con AI: dai requisiti al prompt, dalla code review alla pubblicazione su repository.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Creare un plugin WordPress con l&#x27;intelligenza artificiale non significa &quot;chiedere a ChatGPT di scrivere un plugin&quot;. Significa progettare un flusso di lavoro in cui l&#x27;AI genera codice candidato, ma tu mantieni il controllo su requisiti, sicurezza, test e rilascio. In questa guida trovi un metodo in nove fasi, già usato per rilasciare plugin reali, con prompt operativi, snippet PHP pronti e una checklist di code review pensata per chi sviluppa in proprio e non vuole pubblicare codice bacato.</p>



<p class="wp-block-paragraph">L&#x27;obiettivo è trasformare un prompt in un artefatto distribuibile, non un esercizio di stile. Vediamo come, passo dopo passo, integrando l&#x27;AI in un processo di ingegneria WordPress serio.</p>



<h2 class="wp-block-heading">Perché serve un metodo, non solo un prompt</h2>



<p class="wp-block-paragraph">Scrivere &quot;creami un plugin WordPress per gestire i preventivi&quot; produce quasi sempre un file singolo, nessuna struttura di namespace, nessuna sanitizzazione, zero test. Il prompt è solo il punto di partenza: ciò che separa un plugin amatoriale da uno distribuibile è la pipeline.</p>



<p class="wp-block-paragraph">Se hai già letto la nostra guida su <a href="https://www.mrtux.it/ai-sviluppo-wordpress-progettare-scrivere-ottimizzare-plugin" data-wpel-link="internal" target="_self" rel="noopener">come progettare, scrivere e ottimizzare un plugin WordPress con AI</a>, sai che il vero vantaggio competitivo non è la velocità di generazione ma la capacità di ripetere il processo. Un metodo replicabile ti permette di passare da un&#x27;idea a un plugin pubblicato in una settimana, non in sei mesi. Lo stesso approccio si applica a <a href="https://www.mrtux.it/creare-tema-wordpress-guida-101-allo-sviluppo-completo" data-wpel-link="internal" target="_self" rel="noopener">temi WordPress complessi</a> e a <a href="https://www.mrtux.it/container-docker-php-setup-minimale" data-wpel-link="internal" target="_self" rel="noopener">strumenti di sviluppo locale basati su Docker</a>, dove la standardizzazione fa la differenza.</p>



<h2 class="wp-block-heading">Le 9 fasi del metodo</h2>



<p class="wp-block-paragraph">Il flusso è sequenziale ma iterativo. Ogni fase produce un output concreto che alimenta la successiva.</p>




<figure class="wp-block-table"><table><thead><tr><th>Fase</th><th>Output</th><th>Strumento AI utile</th></tr></thead><tbody><tr><td>1. Requisiti</td><td>User story + criteri di accettazione</td><td>LLM generico + brainstorming</td></tr><tr><td>2. Architettura</td><td>Schema classi, hook, tabelle DB</td><td>LLM con contesto WordPress</td></tr><tr><td>3. Prompt design</td><td>Prompt strutturato con vincoli</td><td>LLM con system prompt dedicato</td></tr><tr><td>4. Generazione</td><td>Codice PHP/JS/CSS candidato</td><td>Cursor, Copilot, Continue.dev</td></tr><tr><td>5. Code review</td><td>Lista vulnerabilità e refactoring</td><td>LLM come revisore + PHPStan</td></tr><tr><td>6. Sicurezza</td><td>Escape, nonce, capability check</td><td>LLM + plugin &quot;Plugin Check&quot;</td></tr><tr><td>7. Test</td><td>Unit test + smoke test WP-CLI</td><td>PHPUnit + WP-CLI scaffold</td></tr><tr><td>8. Refactoring</td><td>Versione pulita, documentata</td><td>LLM come pair programmer</td></tr><tr><td>9. Distribuzione</td><td>ZIP, repository, readme.txt</td><td>wp-svn, GitHub Releases</td></tr></tbody></table></figure>




<p class="wp-block-paragraph">Le prime quattro fasi sono dove l&#x27;AI dà il massimo vantaggio. Le ultime cinque sono dove il tuo giudizio tecnico diventa insostituibile.</p>



<h2 class="wp-block-heading">Fase 1: requisiti come user story</h2>



<p class="wp-block-paragraph">Parti sempre da cosa deve fare il plugin, non da come. Una user story ben scritta è: &quot;Come amministratore del sito, voglio poter associare una data di scadenza a ogni post, per visualizzare un countdown nel frontend&quot;.</p>



<p class="wp-block-paragraph">L&#x27;AI trasforma questa story in criteri di accettazione, edge case e vincoli non funzionali (performance, compatibilità PHP 8.2+, i18n). Meglio scriverli prima di generare codice: ti serviranno per i test.</p>



<p class="wp-block-paragraph">Ecco un prompt efficace per la fase 1:</p>



<pre class="wp-block-code"><code># esempio codice
Agisci come product manager WordPress. Per la user story "[INCOLLA QUI]" genera: 5 criteri di accettazione, 3 edge case, requisiti di compatibilità (versione WordPress minima, PHP minimo, ruoli utente coinvolti), e una lista di hook WordPress da usare. Rispondi in italiano, formato Markdown.</code></pre>



<p class="wp-block-paragraph">Il risultato diventa l&#x27;input della fase 2. Niente codice ancora, niente scelte tecniche premature.</p>



<h2 class="wp-block-heading">Fase 2: architettura prima del codice</h2>



<p class="wp-block-paragraph">Chiedi all&#x27;AI uno schema di alto livello: classi, interfacce, tabelle custom, hook e filtri, file e cartelle. Questo passaggio ti permette di valutare se la struttura proposta ha senso prima di investire tempo nella generazione del codice.</p>



<pre class="wp-block-code"><code># esempio codice
Dato il plugin "[NOME]" con questi requisiti: [INCOLLA CRITERI DI ACCETTAZIONE]. Proponi: struttura directory, elenco classi con responsabilità, tabelle DB custom (se necessarie), hook WordPress da implementare (action e filter), e dipendenze esterne. Non scrivere codice, solo architettura.</code></pre>



<p class="wp-block-paragraph">Conferma o modifica lo schema. Una volta validato, diventa il brief per la generazione.</p>



<h2 class="wp-block-heading">Fase 3: prompt design con vincoli espliciti</h2>



<p class="wp-block-paragraph">Il prompt di generazione è il momento più delicato. Includi sempre: contesto WordPress (versioni supportate, hook da usare), standard di codifica (PSR-12, WordPress Coding Standards), requisiti di sicurezza (sanitize, escape, nonce, capability), e formato di output (un file per volta, con header di plugin completo).</p>



<p class="wp-block-paragraph">Un prompt ben strutturato produce codice quasi pronto. Uno vago produce spazzatura. Non lesinare sui dettagli.</p>



<h2 class="wp-block-heading">Fase 4: generazione del codice candidato</h2>



<p class="wp-block-paragraph">Usa l&#x27;editor AI (Cursor, Continue.dev, GitHub Copilot) per generare il codice file per file. Chiedi esplicitamente commenti PHPDoc, gestione degli errori e un blocco <code>register_activation_hook</code> per il setup iniziale. La regola d&#x27;oro: genera, leggi, correggi, integra. Non accettare mai il primo output senza averlo capito.</p>



<p class="wp-block-paragraph">Esempio di header plugin generato correttamente:</p>



<pre class="wp-block-code"><code>&lt;?php
/**
 * Plugin Name:       Mio Plugin Preventivi
 * Description:       Gestione preventivi con scadenza e notifica email.
 * Version:           1.0.0
 * Requires at least: 6.5
 * Requires PHP:      8.2
 * Author:            Il Tuo Nome
 * License:           GPL v2 or later
 * Text Domain:       mio-plugin-preventivi
 */

if ( ! defined( 'ABSPATH' ) ) {
    exit; // impedisce l'accesso diretto
}</code></pre>



<p class="wp-block-paragraph">Nota la riga <code>ABSPATH</code>: senza quella, chiunque può includere il file via URL e bypassare i controlli. È un dettaglio che l&#x27;AI spesso dimentica.</p>



<h2 class="wp-block-heading">Fase 5: code review con PHPStan e AI</h2>



<p class="wp-block-paragraph">Passa il codice generato a PHPStan con il livello 5 o superiore. Poi chiedi all&#x27;AI di fare una review incrociata: &quot;Trova bug logici, race condition, memory leak, gestione errori mancante&quot;. L&#x27;AI è sorprendentemente brava a trovare quello che tu, abbagliato dal codice appena scritto, non vedi.</p>



<p class="wp-block-paragraph">Un comando utile per la review AI:</p>



<pre class="wp-block-code"><code># analisi statica PHPStan sul plugin
vendor/bin/phpstan analyse --level=6 includes/ src/</code></pre>



<p class="wp-block-paragraph">Output tipico: errori di tipo mancanti, parametri non validati, return type inconsistenti. Tutto risolvibile prima ancora di aprire il browser.</p>



<h2 class="wp-block-heading">Fase 6: checklist di sicurezza WordPress</h2>



<p class="wp-block-paragraph">WordPress ha un modello di sicurezza preciso. L&#x27;AI spesso lo ignora o lo applica in modo parziale. Ecco la checklist minima non negoziabile:</p>



<ul class="wp-block-list"><li>Ogni form ha un <code>wp_nonce_field</code> e verifica <code>wp_verify_nonce</code> lato server.</li><li>Ogni input utente passa per <code>sanitize_text_field</code>, <code>absint</code>, <code>wp_kses_post</code> o equivalente.</li><li>Ogni output passa per <code>esc_html</code>, <code>esc_attr</code>, <code>esc_url</code> o <code>wp_kses_post</code>.</li><li>Ogni capability check usa <code>current_user_can( &#x27;manage_options&#x27; )</code> (o capability più specifica).</li><li>Le query SQL usano <code>$wpdb-&gt;prepare()</code> con placeholder <code>%s</code>, <code>%d</code>, <code>%f</code>.</li><li>I file letti/scritti usano <code>WP_Filesystem</code> API, non <code>file_get_contents</code> diretto.</li></ul>



<p class="wp-block-paragraph">Se uno di questi punti manca, il plugin non è pronto per la distribuzione. Nessuna scusa, nessuna &quot;lo aggiungo dopo&quot;.</p>



<h2 class="wp-block-heading">Fase 7: test con PHPUnit e WP-CLI</h2>



<p class="wp-block-paragraph">Il modo più rapido per testare un plugin è usare <code>wp-cli scaffold plugin-tests</code>. Crea una struttura di test standard con PHPUnit e WP-CLI, inclusi test di integrazione. Scrivi test per ogni criterio di accettazione della fase 1. Se un criterio non ha un test, non è un criterio.</p>



<pre class="wp-block-code"><code># installa WP-CLI test scaffold nel plugin
wp scaffold plugin-tests mio-plugin</code></pre>



<p class="wp-block-paragraph">L&#x27;output è una cartella <code>tests/</code> con file di esempio, configurazione PHPUnit e script per lanciare la suite. Da lì in poi scrivi test reali: un test per ogni metodo pubblico della classe principale, un test per ogni hook registrato.</p>



<h2 class="wp-block-heading">Fase 8: refactoring finale</h2>



<p class="wp-block-paragraph">Dopo i test, chiedi all&#x27;AI un refactoring mirato: estrai metodi lunghi, rinomina variabili, aggiungi type hint mancanti, sostituisci <code>array()</code> con <code>[]</code>, converte stringhe in costanti di classe se usate più volte. Il refactoring post-test è il momento in cui il codice diventa manutenibile. Non farlo prima dei test: senza test, il refactoring è un terno al lotto.</p>



<p class="wp-block-paragraph">Un prompt utile per questa fase:</p>



<pre class="wp-block-code"><code># esempio codice
Refactoring del file [NOME FILE]. Obiettivi: type hint completi, metodi sotto le 30 righe, naming coerente, nessuna duplicazione. Mantieni la logica invariata. Restituisci solo il codice finale con commenti PHPDoc.</code></pre>



<h2 class="wp-block-heading">Fase 9: distribuzione e manutenzione</h2>



<p class="wp-block-paragraph">Una volta che il plugin è solido, crea lo ZIP e pubblicalo su wordpress.org tramite <code>wp-svn</code>, oppure su GitHub con una release. Il file <code>readme.txt</code> segue il formato standard WordPress: header con metadata, sezione &quot;Description&quot;, &quot;Installation&quot;, &quot;Frequently Asked Questions&quot;, &quot;Changelog&quot;, &quot;Upgrade Notice&quot;. L&#x27;AI può generare un primo draft, ma ricontrolla: wordpress.org rifiuta readme con link a siti di terze parti non autorizzati, con tag non standard, con sezioni mancanti.</p>



<pre class="wp-block-code"><code># crea zip distribuzione plugin
wp dist-archive /percorso/del/plugin mio-plugin-1.0.0</code></pre>



<p class="wp-block-paragraph">Dopo la pubblicazione, il lavoro non è finito: monitora il forum di supporto, rispondi ai bug report, rilascia patch. Un plugin senza manutenzione è un plugin che smette di funzionare al primo aggiornamento major di WordPress.</p>



<h2 class="wp-block-heading">Errori comuni da evitare</h2>



<p class="wp-block-paragraph">Anche con un buon metodo, alcuni errori sono ricorrenti. Ecco i più frequenti osservati su plugin AI-generati pubblicati su wordpress.org e repository privati.</p>




<figure class="wp-block-table"><table><thead><tr><th>Errore</th><th>Conseguenza</th><th>Come evitarlo</th></tr></thead><tbody><tr><td>Plugin monolitico da 2000 righe in un solo file</td><td>Impossibile manutenere, test, debuggare</td><td>Forza struttura a cartelle nella fase 3</td></tr><tr><td>Nessuna traduzione (text domain)</td><td>Plugin rifiutato da wordpress.org</td><td>Aggiungi <code>__()</code>, <code>_e()</code>, <code>esc_html__()</code> ovunque</td></tr><tr><td>Query dirette senza prepare</td><td>SQL injection, rifiuto plugin check</td><td>Standardizza uso di <code>$wpdb-&gt;prepare()</code></td></tr><tr><td>Asset (JS/CSS) caricati ovunque</td><td>Page bloat, conflitti con altri plugin</td><td>Usa <code>wp_enqueue_script</code> condizionato</td></tr><tr><td>Nessuna deactivation/uninstall hook</td><td>Dati orfani nel database</td><td>Aggiungi <code>register_uninstall_hook</code> con cleanup</td></tr></tbody></table></figure>




<p class="wp-block-paragraph">La tabella è un riassunto operativo. L&#x27;errore più subdolo è il primo: un file da 2000 righe è facile da generare con l&#x27;AI, impossibile da mantenere senza refactoring radicale.</p>



<h2 class="wp-block-heading">Workflow integrato: dall&#x27;idea al repository</h2>



<p class="wp-block-paragraph">Mettiamo insieme le nove fasi in un flusso settimanale realistico. Giorno 1-2: requisiti e architettura, con sessioni AI di 2-3 ore. Giorno 3-4: generazione e code review, con l&#x27;AI come pair programmer. Giorno 5: test e refactoring, senza AI generativa ma con PHPStan e PHPUnit. Giorno 6: readme, asset, documentazione. Giorno 7: pubblicazione e annuncio.</p>



<p class="wp-block-paragraph">Questo ritmo è compatibile con un singolo sviluppatore che lavora part-time. Con un team di due persone (uno sviluppatore, uno reviewer) si scende a 3-4 giorni. Il collo di bottiglia non è mai la generazione del codice: è la review e i test.</p>



<h2 class="wp-block-heading">Quando l&#x27;AI non basta</h2>



<p class="wp-block-paragraph">Ci sono ambiti dove l&#x27;intelligenza artificiale generativa non è ancora affidabile come unico input:</p>



<ul class="wp-block-list"><li>Logica di business complessa con regole fiscali o legali: serve dominio umano per validare i requisiti.</li><li>Integrazione con API di pagamento (Stripe, PayPal): troppe edge case, troppe versioni API, troppe conseguenze economiche di un bug.</li><li>Plugin che gestiscono dati sanitari o personali sensibili: la conformità GDPR richiede revisione legale, non solo tecnica.</li></ul>



<p class="wp-block-paragraph">In questi casi l&#x27;AI è utile per generare il codice candidato, ma serve un dominio umano per validare. Non affidarti mai al 100% all&#x27;output AI per aree critiche.</p>



<h2 class="wp-block-heading">Strumenti consigliati per il workflow</h2>



<p class="wp-block-paragraph">Ecco la mia toolchain attuale, testata su plugin reali pubblicati nel 2025-2026:</p>



<ul class="wp-block-list"><li><strong>Editor AI</strong>: Cursor per la generazione, Continue.dev come alternativa open source, entrambi con supporto a modelli locali (privacy).</li><li><strong>Analisi statica</strong>: PHPStan livello 6+ con regole WordPress custom, Psalm come alternativa.</li><li><strong>Test</strong>: PHPUnit + WP-CLI scaffold plugin-tests, Brain Monkey per mock delle funzioni WordPress.</li><li><strong>Sicurezza</strong>: Plugin &quot;Plugin Check&quot; di wordpress.org per validare submission, PHP_CodeSniffer con WordPress Coding Standards.</li><li><strong>Versionamento</strong>: Git con conventional commits, GitHub Actions per CI, wp-env per ambienti di sviluppo riproducibili.</li></ul>



<p class="wp-block-paragraph">Nessuno di questi strumenti è obbligatorio, ma l&#x27;insieme copre le fasi 4-9 con automazione. Il tempo risparmiato in setup si ripaga dal primo plugin in poi.</p>



<h2 class="wp-block-heading">Riferimenti ufficiali e risorse esterne</h2>



<p class="wp-block-paragraph">Per approfondire i temi toccati in questa guida, queste sono le fonti primarie che uso quotidianamente:</p>



<ul class="wp-block-list"><li><a href="https://developer.wordpress.org/plugins/" target="_blank" rel="noopener nofollow external" data-wpel-link="external">Plugin Handbook ufficiale di WordPress.org</a> — documentazione canonica su hook, API, sicurezza, internazionalizzazione. È la bibbia: ogni dubbio su un filtro o un action hook si risolve qui.</li><li><a href="https://github.com/WordPress/WordPress-Coding-Standards" target="_blank" rel="noopener nofollow external" data-wpel-link="external">WordPress Coding Standards su GitHub</a> — le regole di stile PHP/JS/CSS che ogni plugin su wordpress.org deve rispettare, installabili come standard PHPCS.</li><li><a href="https://make.wordpress.org/core/" target="_blank" rel="noopener nofollow external" data-wpel-link="external">Make WordPress Core — discussione su PHP 8.x e WordPress 7.0</a> — le release notes ufficiali, le proposte di deprecazione, gli aggiornamenti sui requisiti minimi di PHP che impattano direttamente i plugin moderni.</li><li><a href="https://wordpress.org/plugins/plugin-check/" target="_blank" rel="noopener nofollow external" data-wpel-link="external">Plugin Check su wordpress.org</a> — strumento di validazione pre-submission che verifica automaticamente decine di requisiti tecnici e di sicurezza.</li><li><a href="https://wp-cli.org/commands/" target="_blank" rel="noopener nofollow external" data-wpel-link="external">WP-CLI command reference</a> — ogni comando disponibile, con flag ed esempi, utile per automatizzare test, scaffolding e distribuzione.</li><li><a href="https://developer.wordpress.org/plugins/settings/" target="_blank" rel="noopener nofollow external" data-wpel-link="external">Common APIs — Settings, Options, Transients</a> — pattern consolidati per memorizzare configurazioni, con confronto tra opzioni e transients.</li></ul>



<p class="wp-block-paragraph">Le fonti terze (blog, tutorial YouTube) sono ottime per imparare pattern, ma quando decidi un&#x27;architettura o una regola di sicurezza, il riferimento finale deve sempre essere la documentazione ufficiale. Le AI a volte propongono pattern obsoleti (hook deprecati, funzioni rimosse in versioni recenti): solo leggendo le release notes aggiornate te ne accorgi.</p>



<h2 class="wp-block-heading">Caso studio: 7 giorni per un plugin reale</h2>



<p class="wp-block-paragraph">Per chiudere con un esempio concreto, ecco come ho applicato il metodo a un plugin reale: un sistema di scadenza post con countdown nel frontend. Il plugin è in produzione su tre siti, tutti aggiornati a WordPress 6.5+ senza conflitti.</p>



<h3 class="wp-block-heading">Giorno 1: requisiti</h3>



<p class="wp-block-paragraph">Una mattina con sessione AI di 2 ore, partendo dalla user story &quot;voglio una data di scadenza visibile sul post con countdown automatico&quot;. Output: 6 criteri di accettazione, 4 edge case (post programmati, post privati, timezone del sito, caching del countdown), decisione di usare un meta box classico per compatibilità con i page builder più diffusi. Tutto scritto in un file <code>requirements.md</code> versionato su Git.</p>



<h3 class="wp-block-heading">Giorno 2: architettura</h3>



<p class="wp-block-paragraph">Sessione AI con prompt di architettura: output una struttura a tre classi (Main, MetaBox, Frontend), un custom post meta <code>mio_plugin_expiry_date</code>, due hook (uno in admin per il meta box, uno in frontend per il rendering), zero tabelle custom. Ho aggiunto un <code>requirements.md</code> con la sezione &quot;Decisioni di architettura&quot; per spiegare perché niente tabelle custom: i meta post bastano per il caso d&#x27;uso, le tabelle custom aggiungono complessità di migrazione e manutenzione non giustificata.</p>



<h3 class="wp-block-heading">Giorno 3-4: generazione e review</h3>



<p class="wp-block-paragraph">Ho generato il codice file per file in Cursor, con prompt che includevano sempre i requisiti di sicurezza (nonce, sanitize, esc) e i criteri di accettazione come checklist inline. Poi PHPStan livello 6 ha trovato 4 errori di tipo (parametri nullable non gestiti) che ho corretto in 20 minuti. Una seconda passata AI per code review ha pescato 2 bug logici (confronto tra DateTime e stringa in un caso edge).</p>



<h3 class="wp-block-heading">Giorno 5: test</h3>



<p class="wp-block-paragraph"><code>wp scaffold plugin-tests</code> ha creato la struttura PHPUnit. Ho scritto 8 test, uno per criterio di accettazione. Due test hanno rivelato un bug nella gestione del timezone (il countdown mostrava un&#x27;ora di differenza tra backend e frontend in siti con timezone Europe/Rome). Bug risolto passando sempre per <code>wp_date()</code> invece di <code>date()</code> nativo PHP.</p>



<h3 class="wp-block-heading">Giorno 6: documentazione</h3>



<p class="wp-block-paragraph">Readme.txt, screenshot, changelog iniziale, documentazione del meta box. L&#x27;AI ha generato il primo draft, io ho ricontrollato formattazione wordpress.org, licenza, sezioni mancanti.</p>



<h3 class="wp-block-heading">Giorno 7: pubblicazione</h3>



<p class="wp-block-paragraph">ZIP, invio a wordpress.org, attesa di approvazione (3 giorni per la review). Tempo totale: 7 giorni di lavoro effettivo, di cui circa 2 ore al giorno. Il resto del tempo era sessioni AI, code review, test. Il plugin è ancora attivo, riceve aggiornamenti di compatibilità a ogni release major di WordPress.</p>



<p class="wp-block-paragraph">Questo caso studio dimostra che il metodo è realistico anche per sviluppatori soli, a patto di non saltare le fasi 5-7 (review, sicurezza, test) per la pressione di rilasciare prima.</p>



<h2 class="wp-block-heading">Domande frequenti</h2>



<p class="wp-block-paragraph"><strong>L&#x27;AI può sostituire uno sviluppatore WordPress?</strong> No. L&#x27;AI accelera la scrittura del codice ma non sostituisce la capacità di progettare architetture, fare scelte tecniche e manutenere nel tempo. Un plugin scritto solo con prompt è un plugin fragile.</p>



<p class="wp-block-paragraph"><strong>Quale modello AI è migliore per PHP WordPress?</strong> I modelli addestrati su codice recente (Claude 3.5+, GPT-4o, Gemini 2.5) performano bene su pattern WordPress comuni. Per hook meno documentati, meglio includere esempi di documentazione ufficiale nel prompt.</p>



<p class="wp-block-paragraph"><strong>È legale vendere plugin scritti con AI?</strong> Sì, purché il codice sia tuo (o rilasciato con licenza compatibile GPL) e tu possa mantenerlo. La licenza del plugin deve essere GPL v2 o compatibile, come richiesto da wordpress.org per i plugin gratuiti.</p>



<p class="wp-block-paragraph"><strong>Come gestisco la qualità del codice AI su larga scala?</strong> Con un sistema di review obbligatorio: PHPStan in CI, code review umana, test automatici su ogni PR. Il codice generato entra in produzione solo dopo gli stessi gate del codice scritto a mano.</p>



<h2 class="wp-block-heading">Conclusione</h2>



<p class="wp-block-paragraph">Creare plugin WordPress con AI è un vantaggio competitivo reale se lo fai con metodo, non con magia. Le nove fasi descritte qui (requisiti, architettura, prompt, generazione, review, sicurezza, test, refactoring, distribuzione) trasformano l&#x27;AI da &quot;trucco per prototipi&quot; a strumento professionale. Parti sempre dai requisiti, mai dal codice. Testa sempre, anche il codice &quot;semplice&quot;. E ricorda: il prompt è l&#x27;inizio, non la fine.</p>



<p class="wp-block-paragraph">Se vuoi approfondire il tema dei <a href="https://www.mrtux.it/opencode-vs-claude-code-vs-copilot-2026-quale-ai-coding-assistant-conviene-usare" data-wpel-link="internal" target="_self" rel="noopener">confronti tra coding assistant AI</a> o le <a href="https://www.mrtux.it/woocommerce-ai-strategie-vendere-piu-senza-aumentare-traffico" data-wpel-link="internal" target="_self" rel="noopener">strategie per vendere plugin su WooCommerce</a>, trovi guide dedicate sul blog. Il metodo è trasversale: vale per plugin, temi, integrazioni custom e prodotti SaaS costruiti su WordPress.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mrtux.it/creare-plugin-wordpress-con-ai-metodo-completo/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
