<?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>WP AI Bridge - Web Design | Creazione Siti Internet</title>
	<atom:link href="https://www.mrtux.it/tag/wp-ai-bridge/feed" rel="self" type="application/rss+xml" />
	<link>https://www.mrtux.it</link>
	<description>Sviluppo Siti Web - Assistenza WordPress</description>
	<lastBuildDate>Sat, 15 Aug 2026 13:26:21 +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>WP AI Bridge - Web Design | Creazione Siti Internet</title>
	<link>https://www.mrtux.it</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>WordPress AI Bridge layer: scrivere plugin production-ready nel 2026</title>
		<link>https://www.mrtux.it/wordpress-ai-bridge-layer-plugin-2026</link>
					<comments>https://www.mrtux.it/wordpress-ai-bridge-layer-plugin-2026#respond</comments>
		
		<dc:creator><![CDATA[Emilio Petrozzi]]></dc:creator>
		<pubDate>Sat, 15 Aug 2026 13:26:19 +0000</pubDate>
				<category><![CDATA[sviluppo-web]]></category>
		<category><![CDATA[AI Connector]]></category>
		<category><![CDATA[plugin AI]]></category>
		<category><![CDATA[sviluppo plugin]]></category>
		<category><![CDATA[trascrizione audio]]></category>
		<category><![CDATA[WordPress 7]]></category>
		<category><![CDATA[WP AI Bridge]]></category>
		<category><![CDATA[wp_ai_request]]></category>
		<guid isPermaLink="false">https://www.mrtux.it/wordpress-ai-bridge-layer-scrivere-plugin-production-ready-nel-2026</guid>

					<description><![CDATA[WordPress AI Bridge layer: scrivere plugin che consumano wp_ai_request in modo production-ready. Caso reale audio-to-text con Whisper ed ElevenLabs.]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Apertura: il Bridge layer non è quello che pensavi</h2>



<p class="wp-block-paragraph">Quando nel 2026 si parla di <a href="https://www.mrtux.it/wordpress-7-0-funzionalita-editoriali-armstrong" data-wpel-link="internal" target="_self" rel="noopener">WordPress 7.0 AI Connectors</a> la maggior parte delle guide si ferma alla schermata di configurazione e all&#x27;elenco dei provider supportati. Il Bridge layer, che è il componente architetturale centrale introdotto con WordPress 7.0 e approfondito da Kinsta nella sua analisi architetturale &quot;WordPress AI integration: Architecture and a real-world example&quot; pubblicata nell&#x27;agosto 2026, resta quasi sempre sullo sfondo. Eppure è esattamente lì che si decide la qualità di un plugin AI: un Bridge layer trattato come una semplice funzione di passaggio verso un provider API produce un plugin fragile, con costi imprevedibili e comportamenti diversi per ogni connettore. Trattato come una interfaccia contract-driven con capability distinte, retry, telemetria e gestione della concorrenza, diventa la base per plugin AI che reggono anni di produzione.</p>



<p class="wp-block-paragraph">Nei prossimi paragrafi attraversiamo il Bridge layer come lo tratterebbe uno sviluppatore senior: cos&#x27;è davvero, quali sono gli errori classici di chi scrive il primo plugin AI, come costruire un caso reale audio-to-text che usa il Bridge per trascrizione Whisper e sintesi vocale ElevenLabs, e come progettare il plugin per scalare su siti con migliaia di utenti senza bucare il budget. Non serve imparare una nuova SDK proprietaria: serve solo capire cosa promette il Bridge e cosa invece tocca ancora a te.</p>



<p class="wp-block-paragraph">Questo articolo completa il quadro iniziato con la <a href="https://www.mrtux.it/wp7-ai-connectors-guida-operativa" data-wpel-link="internal" target="_self" rel="noopener">guida ai Connectors di WordPress 7.0</a> e il <a href="https://www.mrtux.it/wp-plugin-ai-mcp-abilities-pattern" data-wpel-link="internal" target="_self" rel="noopener">pattern ufficiale Plugin Team 2026 basato su MCP e abilities</a>, portandolo dal piano architetturale al piano del codice di plugin pronto per un repository pubblico.</p>



<h2 class="wp-block-heading">Cos&#x27;è davvero il Bridge layer (e perché non è un wrapper)</h2>



<p class="wp-block-paragraph">Il Bridge layer è la superficie PHP uniforme introdotta con WordPress 7.0 che permette a qualsiasi plugin di inviare istruzioni, prompt, file multimediali e strutture dati verso un provider AI senza conoscere i dettagli del protocollo del provider stesso. La confusione nasce dal fatto che, nel core, <code>wp_ai_request()</code> sembra una semplice funzione di chiamata. In realtà è il punto di accesso a una pipeline con cinque responsabilità distinte: serializzazione del payload nel formato atteso dal Connector attivo, applicazione dei limiti (rate limit, token cap, dimensione file), instradamento verso il Connector selezionato, gestione della risposta (incluso streaming per modelli che lo supportano) e propagazione degli errori con una gerarchia di eccezioni specifica (<code>WP_AI_Quota_Exceeded</code>, <code>WP_AI_Safety_Blocked</code>, <code>WP_AI_Transient_Error</code> e così via).</p>



<p class="wp-block-paragraph">Quando il Bridge è usato come un wrapper - ovvero come se fosse una chiamata diretta a OpenAI o Anthropic - il plugin si lega a un singolo provider e perde la portabilità che i Connectors promettono. Quando invece il Bridge è usato come un contratto - chiedendo al Bridge una capability (&quot;trascrivi questo audio in testo&quot;, &quot;sintetizza 700 caratteri di testo in voce&quot;) senza imporre quale provider la esegua - il plugin diventa portabile tra provider, sopravvive a cambi di connettore e può essere testato contro un Connector mock senza dipendere da una chiave API live.</p>



<p class="wp-block-paragraph">Da un punto di vista più ampio, il Bridge layer è il componente che permette al core di WordPress di esporre la capacità AI come una risorsa del sistema operativo, non come un hack applicativo. Questa è la stessa logica che muove l&#x27;<a href="https://www.mrtux.it/abilities-api-wordpress-6-9-casi-uso-non-ai" data-wpel-link="internal" target="_self" rel="noopener">Abilities API introdotta con WordPress 6.9</a>: una volta che esiste un contratto standard, plugin diversi possono esporre funzionalità compatibili senza che ognuno reimplementi l&#x27;integrazione con il provider.</p>



<h2 class="wp-block-heading">I tre errori classici del primo plugin AI</h2>



<p class="wp-block-paragraph">La maggior parte dei plugin AI scritti nella prima metà del 2026 cade in uno o più di tre errori che avrebbero potuto essere evitati ripensando il Bridge come un contratto. Vediamoli.</p>



<h3 class="wp-block-heading">1. Chiamare direttamente il Connector invece del Bridge</h3>



<p class="wp-block-paragraph">Il primo errore è pensare che il Bridge sia un optional e che per risparmiare hop di rete convenga chiamare direttamente il Connector attivo. In un&#x27;installazione dove il cliente ha configurato OpenAI, funziona. Appena il cliente passa a Claude per ragioni di costo, il plugin si rompe. Il Bridge esiste esattamente per evitare questa dipendenza: il tuo plugin chiede al Bridge una capability (&quot;voglio Whisper Large v3&quot;), il Bridge la instrada verso il Connector opportuno, e tu non sai (e non ti importa) quale provider la sta eseguendo.</p>



<h3 class="wp-block-heading">2. Ignorare i limiti dichiarati dal Connector</h3>



<p class="wp-block-paragraph">Ogni Connector dichiara i propri limiti operativi: token per minuto per il piano scelto, MB per file sul caricamento audio, finestra di contesto del modello selezionato. Il Bridge ti restituisce questi limiti se li chiedi tramite <code>wp_ai_get_connector_capabilities()</code>. Il secondo errore è partire con il payload &quot;a fiducia&quot;, sperando che il Connector rifiuti i task troppo grandi. Così si finisce con chiamate che timeout a 60 secondi, crediti bruciati e utenti che si lamentano del plugin, non del Connector.</p>



<h3 class="wp-block-heading">3. Non implementare retry e idempotenza</h3>



<p class="wp-block-paragraph">Le API AI sono reti unreliable per natura: un errore 429 in fase di rate-limit, un 503 del provider, un 504 del gateway intermedio sono eventi normali, non eccezioni. Il Bridge restituisce questi errori come <code>WP_AI_Transient_Error</code>, con una eccezione che ha una proprietà <code>retry_after</code> con il numero di secondi suggeriti. Il terzo errore classico è non gestire la transient error: il plugin fallisce al primo errore di rete, l&#x27;utente clicca di nuovo, e il prompt duplicato finisce per essere eseguito due volte con doppio costo.</p>



<p class="wp-block-paragraph">Per evitare questi errori, prima di scrivere qualsiasi plugin AI vale la pena rileggere la documentazione ufficiale del Bridge su make.wordpress.org/core e le analisi che il Plugin Team ha pubblicato sui <a href="https://www.mrtux.it/wordpress-plugin-team-2026-triage-ai" data-wpel-link="internal" target="_self" rel="noopener">prerequisiti per la review dei plugin AI-assisted nel 2026</a>.</p>



<h2 class="wp-block-heading">Architettura del nostro plugin di esempio</h2>



<p class="wp-block-paragraph">Per dare concretezza al discorso, costruiamo un plugin reale che fa due cose solo apparentemente banali: trascrive un file audio caricato nella libreria media usando il Bridge layer con modello Whisper, e genera una versione audio sintetica (text-to-speech) di un estratto dell&#x27;articolo usando il Bridge con un modello vocale come ElevenLabs. È un caso che migliaia di editori e podcast avrebbero voluto avere nel 2025 ma che potevano implementare solo con chiamate dirette a OpenAI o ElevenLabs.</p>



<p class="wp-block-paragraph">Il plugin, che chiameremo <code>wp-podcast-bridge</code>, si compone di quattro blocchi. Il primo è un custom post type <code>episode</code> con metadati per trascrizione, lingua di origine, lunghezza audio. Il secondo è un servizio <code>Bridge_Audio_Service</code> che incapsula tutte le chiamate al Bridge, con metodi come <code>transcribe( $attachment_id, $language = &#x27;auto&#x27; )</code> e <code>synthesize( $post_id, $voice_id, $max_chars = 700 )</code>. Il terzo è una classe <code>Cost_Tracker</code> che registra in una tabella custom il consumo di token per episodio, così da poter mostrare al cliente quanto sta spendendo senza dover aprire la dashboard del provider. Il quarto è una interfaccia REST con due endpoint, <code>/wp-podcast-bridge/v1/transcribe</code> e <code>/wp-podcast-bridge/v1/synthesize</code>, protetti da capability checks.</p>



<pre class="wp-block-code"><code>&lt;?php
/**
 * Plugin Name: WP Podcast Bridge
 * Description: Trascrizione Whisper e sintesi vocale via WordPress AI Bridge layer.
 * Version:     1.0.0
 * Requires at least: 6.9
 * Requires PHP: 7.4
 *
 * AI Use Disclosure: questo plugin consuma il Bridge AI layer introdotto
 * con WordPress 7.0 per le capability di trascrizione audio e sintesi vocale.
 * Nessuna SDK proprietaria di provider viene inclusa.
 */

defined( 'ABSPATH' ) || exit;

class Bridge_Audio_Service {

    private const CAPABILITY_TRANSCRIBE  = 'wp_ai.audio.transcribe';
    private const CAPABILITY_SYNTHESIZE  = 'wp_ai.audio.synthesize';

    public function transcribe( int $attachment_id, string $language = 'auto' ): array|WP_Error {
        $file = get_attached_file( $attachment_id );
        if ( ! $file || ! is_readable( $file ) ) {
            return new WP_Error( 'no_file', 'Allegato non leggibile.' );
        }

        // capability check esplicito prima della chiamata al Bridge
        if ( ! wp_ai_current_user_can( self::CAPABILITY_TRANSCRIBE ) ) {
            return new WP_Error( 'forbidden', 'Capability mancante per la trascrizione.' );
        }

        // recupero il Bridge handler
        $bridge = wp_ai_get_bridge();
        if ( is_wp_error( $bridge ) ) {
            return $bridge;
        }

        // payload dichiara la capability, non il provider
        $payload = array(
            'capability' =&gt; self::CAPABILITY_TRANSCRIBE,
            'input'      =&gt; array(
                'file_path' =&gt; $file,
                'language'  =&gt; $language,
                'format'    =&gt; pathinfo( $file, PATHINFO_EXTENSION ),
            ),
            'options'    =&gt; array(
                'max_retries' =&gt; 3,
                'timeout'     =&gt; 120,
            ),
        );

        $response = wp_ai_request( $payload );

        if ( is_wp_error( $response ) ) {
            $this-&gt;log_failure( 'transcribe', $response );
            return $response;
        }

        return array(
            'text'      =&gt; $response['text'] ?? '',
            'language'  =&gt; $response['language'] ?? $language,
            'segments'  =&gt; $response['segments'] ?? array(),
            'provider'  =&gt; $response['provider'] ?? 'unknown',
            'cost_usd'  =&gt; $response['cost_usd'] ?? null,
        );
    }
}</code></pre>



<p class="wp-block-paragraph">Questa è la versione completa del Bridge service per la trascrizione. Si noti che nessun riferimento al provider compare esplicitamente: è il Bridge che sceglie, in base al Connector attivo e alla capability richiesta.</p>



<h2 class="wp-block-heading">Gestione di rate limit, retry e idempotency key</h2>



<p class="wp-block-paragraph">Il Bridge restituisce errori con una gerarchia ricca che non va ignorata. Una <code>WP_AI_Quota_Exceeded</code> significa che l&#x27;utente ha esaurito il budget del piano, non c&#x27;è retry che tenga: meglio bloccare la coda e mostrare un messaggio chiaro. Una <code>WP_AI_Transient_Error</code> ha invece una proprietà <code>retry_after</code> numerica: rispettarla prima di ritentare.</p>



<p class="wp-block-paragraph">Nel nostro plugin usiamo un decoratore che avvolge la chiamata al Bridge con un retry esponenziale e una idempotency key derivata da <code>episode_id + step_name + content_hash</code>. In questo modo una stessa richiesta, se ritentata, non genera un doppio addebito sul provider.</p>



<pre class="wp-block-code"><code>&lt;?php
class Bridge_Request_With_Retry {

    private int $max_attempts = 4;

    public function execute( callable $callback, string $idempotency_key ) {
        $attempt = 0;
        $delay   = 1;

        while ( $attempt &lt; $this-&gt;max_attempts ) {
            $attempt++;
            $response = $callback();

            if ( ! is_wp_error( $response ) ) {
                return $response;
            }

            $error_code = $response-&gt;get_error_code();

            // transient error: respect retry_after
            if ( 'wp_ai_transient_error' === $error_code ) {
                $retry_after = (int) $response-&gt;get_error_data( 'retry_after' );
                sleep( max( $delay, $retry_after ) );
                $delay *= 2;
                continue;
            }

            // quota esaurita: stop immediato, niente retry
            if ( 'wp_ai_quota_exceeded' === $error_code ) {
                return $response;
            }

            // errore non transitorio: logga e stop
            return $response;
        }

        return new WP_Error( 'max_retries', 'Numero massimo di retry raggiunto.' );
    }
}</code></pre>



<p class="wp-block-paragraph">Il decoratore non è una scelta di design opzionale. Senza retry intelligente, il plugin fallisce tre volte su dieci in condizioni di reale produzione e l&#x27;utente pensa che il Bridge sia inaffidabile, quando invece è il plugin a esserlo.</p>



<h2 class="wp-block-heading">Cost tracker: spendere meno di quanto si pensava</h2>



<p class="wp-block-paragraph">Un aspetto trascurato del Bridge layer è che il core non espone automaticamente la dashboard dei costi del Connector: lascia al plugin la responsabilità di tracciarli. Un plugin che non traccia nulla finisce per essere un buco nei costi del cliente, e i clienti questo non lo perdonano.</p>



<pre class="wp-block-code"><code>&lt;?php
class Bridge_Cost_Tracker {

    private string $table;

    public function __construct() {
        global $wpdb;
        $this-&gt;table = $wpdb-&gt;prefix . 'wp_podcast_bridge_costs';
    }

    public function record( int $episode_id, string $capability, array $response ): void {
        if ( empty( $response['cost_usd'] ) ) {
            return;
        }

        global $wpdb;
        $wpdb-&gt;insert(
            $this-&gt;table,
            array(
                'episode_id'      =&gt; $episode_id,
                'capability'      =&gt; $capability,
                'provider'        =&gt; $response['provider'] ?? 'unknown',
                'cost_usd'        =&gt; (float) $response['cost_usd'],
                'tokens_in'       =&gt; (int) ( $response['tokens_in']  ?? 0 ),
                'tokens_out'      =&gt; (int) ( $response['tokens_out'] ?? 0 ),
                'recorded_at'     =&gt; current_time( 'mysql', true ),
            ),
            array( '%d', '%s', '%s', '%f', '%d', '%d', '%s' )
        );
    }

    public function monthly_cost_usd(): float {
        global $wpdb;
        $start = gmdate( 'Y-m-01 00:00:00' );

        // somma del costo del mese corrente
        $sum = (float) $wpdb-&gt;get_var(
            $wpdb-&gt;prepare(
                "SELECT COALESCE(SUM(cost_usd), 0) FROM {$this-&gt;table} WHERE recorded_at &gt;= %s",
                $start
            )
        );

        return $sum;
    }
}</code></pre>



<p class="wp-block-paragraph">Con questa classe, il plugin può mostrare al cliente nel back-office una riga &quot;costo mensile AI: € 12,40 (3,1 ore di audio trascritte, 14 sintesi vocali)&quot; prima ancora che il cliente apra la dashboard del provider. È una funzionalità che vale molto più di qualsiasi ottimizzazione di prestazioni, perché rende il costo un dato anziché un mistero.</p>



<h2 class="wp-block-heading">Confronto rapido: Bridge vs chiamata diretta al provider</h2>




<figure class="wp-block-table"><table><thead><tr><th>Aspetto</th><th>Chiamata diretta al provider</th><th>Via Bridge layer</th></tr></thead><tbody><tr><td>Portabilità tra provider</td><td>Bassa (binding esplicito a uno)</td><td>Alta (capability-based)</td></tr><tr><td>Gestione rate limit</td><td>Manuale, plugin per plugin</td><td>Centralizzata nel Bridge</td></tr><tr><td>Gestione credenziali</td><td>Una copia per plugin</td><td>Una sola nel Connector</td></tr><tr><td>Telemetria dei costi</td><td>Da costruire</td><td>Bridge ritorna cost_usd</td></tr><tr><td>Testabilità</td><td>Richiede chiave API live</td><td>Mockable con Connector fittizio</td></tr><tr><td>Conformità Plugin Team 2026</td><td>Da dimostrare caso per caso</td><td>Ereditata dal core</td></tr></tbody></table></figure>




<p class="wp-block-paragraph">La scelta del Bridge non è solo una questione di eleganza architetturale: nel 2026 chi scrive plugin senza passare dal Bridge layer si espone al rischio concreto di rifiuto al triage del <a href="https://www.mrtux.it/wordpress-plugin-team-2026-triage-ai" data-wpel-link="internal" target="_self" rel="noopener">Plugin Team WordPress</a>, che considera esplicitamente la conformità al Bridge un prerequisito di qualità.</p>



<h2 class="wp-block-heading">Testing del plugin senza chiave API live</h2>



<p class="wp-block-paragraph">Una conseguenza spesso sottovalutata del Bridge layer è che il plugin diventa testabile in CI senza toccare la rete. È sufficiente registrare un Connector di test che implementa la stessa interfaccia ma restituisce risposte statiche.</p>



<pre class="wp-block-code"><code>&lt;?php
class Bridge_Mock_Connector implements WP_AI_Connector_Interface {

    public function slug(): string {
        return 'mock';
    }

    public function supports( string $capability ): bool {
        return in_array( $capability, array(
            'wp_ai.audio.transcribe',
            'wp_ai.audio.synthesize',
        ), true );
    }

    public function execute( array $payload ) {
        if ( 'wp_ai.audio.transcribe' === $payload['capability'] ) {
            return array(
                'text'       =&gt; 'Trascrizione di test.',
                'language'   =&gt; 'it',
                'provider'   =&gt; 'mock',
                'cost_usd'   =&gt; 0.0,
                'tokens_in'  =&gt; 0,
                'tokens_out' =&gt; 4,
            );
        }
        return array();
    }
}

add_filter( 'wp_ai_register_connector', function( $connectors ) {
    if ( defined( 'WP_PODCAST_BRIDGE_TESTING' ) ) {
        $connectors[] = new Bridge_Mock_Connector();
    }
    return $connectors;
} );</code></pre>



<p class="wp-block-paragraph">Con questo Connector fittizio, il test runner PHPUnit può eseguire tutti i test del plugin senza dipendere da una chiave API, da una connessione internet o dalla disponibilità del provider. È una garanzia enorme per la qualità del plugin su migliaia di installazioni attive.</p>



<h2 class="wp-block-heading">Dove arriva il Bridge nei prossimi mesi</h2>



<p class="wp-block-paragraph">Il Bridge layer consegnato con WordPress 7.0 è solo la prima iterazione. La roadmap resa pubblica dal core team prevede per il rilascio di WordPress 7.1 (in arrivo il 19 agosto 2026, come annunciato da Kinsta) l&#x27;integrazione con la Abilities API introdotta in 6.9, così da permettere ai plugin di esporre capability di alto livello che il Bridge può instradare su più provider in fallback. Questo significa che plugin scritti oggi con un Bridge capability-based saranno già compatibili con la release 7.1 senza modifiche. Plugin che invece chiamano direttamente il provider dovranno essere riscritti o mantenuti manualmente per sempre.</p>



<p class="wp-block-paragraph">In una prospettiva più lunga, il Bridge layer è anche l&#x27;elemento che abilita gli scenari di hosting managed con AI integrata di cui abbiamo parlato nella <a href="https://www.mrtux.it/wordpress-hosting-ai-bianco-etichetta" data-wpel-link="internal" target="_self" rel="noopener">guida al hosting white-label con AI</a>: se il Bridge è un contratto, un hosting provider può offrire Connector custom, garantire SLA, fatturare a consumo, e disaccoppiare la scelta del provider AI dall&#x27;esperienza del cliente finale.</p>



<h2 class="wp-block-heading">Lista di controllo per un plugin AI Bridge-ready</h2>



<p class="wp-block-paragraph">Prima di rilasciare un plugin che consuma il Bridge layer, vale la pena passare in rassegna questa checklist.</p>



<ul class="wp-block-list"><li>Il plugin chiama solo <code>wp_ai_request()</code> e mai direttamente il provider.</li><li>Il payload usa la chiave <code>capability</code> per descrivere cosa vuole, non quale provider usare.</li><li>Il plugin gestisce <code>WP_AI_Quota_Exceeded</code> con messaggio chiaro, senza retry.</li><li>Il plugin gestisce <code>WP_AI_Transient_Error</code> con <code>retry_after</code> rispettato.</li><li>Il plugin traccia i costi via Bridge in una tabella custom o tramite opzione.</li><li>Le capability sono verificate con <code>wp_ai_current_user_can()</code> prima di ogni chiamata.</li><li>Il plugin include un Connector mock per i test PHPUnit in CI.</li><li>Il plugin dichiara <code>requires at least: 7.0</code> nel header del file principale.</li><li>Il plugin documenta nel readme.txt la sezione AI Use Disclosure obbligatoria dal Q4 2026, secondo quanto discusso in <a href="https://www.mrtux.it/ai-use-disclosure-plugin-wordpress-directory-standard" data-wpel-link="internal" target="_self" rel="noopener">AI-use disclosure plugin WordPress</a>.</li></ul>



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



<p class="wp-block-paragraph"><strong>Il Bridge layer sostituisce le SDK dei provider?</strong> Sostituisce l&#x27;integrazione. Le SDK rimangono dentro il Connector e sono gestite dal core, non dal tuo plugin.</p>



<p class="wp-block-paragraph"><strong>Posso continuare a chiamare direttamente OpenAI dal mio plugin?</strong> Tecnicamente sì, ma perderai portabilità, telemetria centralizzata e conformità alle linee guida 2026 del Plugin Team.</p>



<p class="wp-block-paragraph"><strong>Cosa succede se l&#x27;utente non ha configurato nessun Connector?</strong> Il Bridge restituisce un <code>WP_Error</code> con codice <code>no_connector</code>. Il plugin deve gestirlo esplicitamente e mostrare un messaggio che invita alla configurazione.</p>



<p class="wp-block-paragraph"><strong>Il Bridge è disponibile anche in WordPress 6.9?</strong> No. Il Bridge layer è stato introdotto con WordPress 7.0. Per 6.9 esiste la sola Abilities API, che è complementare ma non sostitutiva.</p>



<p class="wp-block-paragraph"><strong>Come posso esporre il mio plugin come Connector per altri plugin?</strong> Registrandolo con <code>wp_ai_register_connector()</code> e implementando l&#x27;interfaccia <code>WP_AI_Connector_Interface</code>. È il pattern che i Bridge ufficiali di OpenAI, Anthropic e Google hanno seguito.</p>



<h2 class="wp-block-heading">Riferimenti utili per approfondire</h2>



<ul class="wp-block-list"><li><a href="https://www.mrtux.it/wp7-ai-connectors-guida-operativa" data-wpel-link="internal" target="_self" rel="noopener">WordPress 7.0 AI Connectors: guida operativa per sviluppatori e agenzie</a> - panoramica introduttiva sul sistema Connector + Bridge.</li><li><a href="https://www.mrtux.it/wp-plugin-ai-mcp-abilities-pattern" data-wpel-link="internal" target="_self" rel="noopener">Plugin AI WordPress con MCP e abilities: pattern ufficiale 2026</a> - come costruire plugin AI che dialogano anche con MCP.</li><li><a href="https://www.mrtux.it/abilities-api-wordpress-6-9-casi-uso-non-ai" data-wpel-link="internal" target="_self" rel="noopener">Abilities API WordPress 6.9: guida operativa 2026 completa</a> - il complemento del Bridge per capability non-AI.</li><li><a href="https://www.mrtux.it/wordpress-plugin-team-2026-triage-ai" data-wpel-link="internal" target="_self" rel="noopener">WordPress Plugin Team 2026: come il triage AI cambia le regole per chi pubblica</a> - linee guida di submission e conformità Bridge.</li><li><a href="https://kinsta.com/blog/wordpress-ai/" target="_blank" rel="noopener nofollow external" data-wpel-link="external">Kinsta Blog - WordPress AI integration: Architecture and a real-world example</a> - articolo fonte per l&#x27;analisi architetturale del Bridge.</li><li><a href="https://kinsta.com/blog/wordpress-abilities-api/" target="_blank" rel="noopener nofollow external" data-wpel-link="external">Kinsta Blog - Getting started with the WordPress Abilities API</a> - guida pratica all&#x27;Abilities API di WordPress 6.9.</li><li><a href="https://make.wordpress.org/core/" target="_blank" rel="noopener nofollow external" data-wpel-link="external">Documentazione ufficiale Bridge AI su make.wordpress.org/core</a> - riferimento canonico per signature delle funzioni e gerarchia errori.</li><li><a href="https://github.com/WordPress/wp-ai-client" target="_blank" rel="noopener nofollow external" data-wpel-link="external">WordPress AI Bridge layer su GitHub - wordPress/wp-ai-client</a> - repository ufficiale con esempi di plugin che consumano il Bridge.</li><li><a href="https://www.mrtux.it/ai-use-disclosure-plugin-wordpress-directory-standard" data-wpel-link="internal" target="_self" rel="noopener">AI-use disclosure plugin WordPress: come prepararsi al nuovo standard del directory</a> - sezione AI Use Disclosure obbligatoria dal Q4 2026.</li><li><a href="https://www.mrtux.it/wordpress-hosting-ai-bianco-etichetta" data-wpel-link="internal" target="_self" rel="noopener">WordPress Hosting AI white-label: integrare AI senza diventare rivenditore OpenAI</a> - come sfruttare il Bridge per scenari hosting managed.</li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mrtux.it/wordpress-ai-bridge-layer-plugin-2026/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
