DocumentazioneScarica

Integrazioni

Nucleo 0.2+FreeLettura ~28 minAggiornato 31 ottobre 2026

Nucleo riconosce alcuni plugin di terze parti e adatta il proprio comportamento a ciascuno.

In questa pagina

01Panoramica

Nucleo riconosce alcuni plugin di terze parti e adatta il proprio comportamento. Ogni integrazione controlla una costante, una classe o una funzione del plugin terzo. Nessuna integrazione esegue query per il rilevamento.

Le integrazioni WooCommerce e multilingua stanno solo nel pacchetto Pro. SEO, moduli, consenso e cache stanno nel pacchetto Free.

Edizione e licenza sono due livelli distinti. Il pacchetto decide quali file esistono. La licenza decide quali funzioni Pro sono attive.

Le classi WooCommerce e multilingua non controllano la licenza. Con il pacchetto Pro e la licenza non attiva, i blocchi woo/*, le regole asset WooCommerce e la gestione delle lingue restano attivi. Diventano non disponibili solo l'ability nucleo/doc-translate e la voce admin Kit. Una licenza scaduta su un sito già attivo non toglie queste funzioni: ferma solo gli aggiornamenti.

02Rilevamento dei plugin

Plugin rilevati dall'area admin

Cosa fa: restituisce lo stato di cinque plugin. L'area admin usa questo stato per mostrare, nascondere o spiegare le opzioni che dipendono da un plugin.

Come si usa: lo stato dei plugin alimenta il contesto di accesso alle opzioni admin. Le regole con chiave plugins passano se almeno un plugin dell'elenco è attivo. Se nessuno è attivo, l'esito è il valore di missing (hidden o explain).

Parametri: nessuno. Criteri di rilevamento:

ChiaveControllo
woocommerceclasse WooCommerce
polylangcostante POLYLANG_VERSION
wpmlcostante ICL_SITEPRESS_VERSION
yoastcostante WPSEO_VERSION
rankmathclasse RankMath

Permessi: nessuno proprio. Le opzioni admin aggiungono la capability della voce.

Edizione: Free

Limiti noti: le opzioni admin che usano plugins sono due. Sono la lingua di nucleo-layouts (polylang, wpml, missing: explain) e l'ecommerce di nucleo-kits (woocommerce, missing: explain). Il rilevamento di Rank Math qui usa la classe RankMath. La parte SEO usa invece la costante RANK_MATH_VERSION.

Scheda Integrazioni di Nucleo AI → Impostazioni

Cosa fa: mostra una tabella con le integrazioni note, lo stato "Detected" o "Not detected" e una frase su cosa fa Nucleo.

Come si usa: admin, Nucleo AI → Impostazioni, scheda Integrazioni. I dati arrivano da nucleo/settings-get, chiave integrations. Ogni voce ha id, name, active e does.

Parametri: nessuno. Voci e criteri:

idControllo
woocommerce, polylang, wpml, yoast, rankmathstessi criteri di Plugin rilevati dall'area admin
contact-form-7costante WPCF7_VERSION
complianzfunzione cmplz_get_value
cookiebotclasse Cookiebot_WP
cookieyescostante CKY_VERSION
iubendacostante IUBENDA_VERSION

Permessi: capability manage_options per la voce admin. Ability nucleo/settings-get: manage_options, scope nucleo:admin.

Edizione: Free

Limiti noti: la tabella è solo informativa. I criteri di consenso cookie qui differiscono da quelli usati per i video: un plugin può risultare "Not detected" in tabella e agire comunque sui video, o il contrario. La descrizione di WooCommerce e dei plugin di consenso è generica: vedi le sezioni dedicate. Gravity Forms, WPForms e Fluent Forms non compaiono in tabella, anche se il blocco nc/form li supporta.

03WooCommerce

Pro

Le funzioni di questa sezione stanno nel pacchetto Pro. Fa eccezione l'impostazione cart fragments, che si salva anche nel pacchetto Free.

Caricamento e compatibilità dichiarata

Cosa fa: aggancia due hook. Su before_woocommerce_init dichiara la compatibilità con custom_order_tables (HPOS) e cart_checkout_blocks tramite FeaturesUtil::declare_compatibility(). Su nucleo/register_blocks registra i blocchi woo/*.

Come si usa: automatico. Nucleo registra l'integrazione nelle richieste admin, REST e CLI. Gli hook verificano WooCommerce quando scattano, perché WooCommerce si carica dopo Nucleo. La registrazione si può ripetere senza effetti.

Parametri: nessuno

Permessi: nessuno

Edizione: Pro (solo pacchetto Pro)

Limiti noti: senza la classe Automattic\WooCommerce\Utilities\FeaturesUtil non dichiara nulla. Senza la classe WooCommerce non registra blocchi.

Chiave di template WooCommerce

Cosa fa: riconosce le pagine WooCommerce e restituisce la chiave di template usata dalle regole asset: product, cart, checkout, account, product-archive (negozio e tassonomie prodotto).

Come si usa: automatico. Nucleo la consulta dopo 404, ricerca e home, quando WooCommerce è attivo e l'integrazione è caricata.

Parametri: nessuno

Permessi: nessuno

Edizione: Pro (solo pacchetto Pro)

Limiti noti: senza il pacchetto Pro un prodotto singolo ha la chiave product dal tipo di post. Carrello, checkout, account e archivi prodotto ricadono su page o archive.

Regole asset predefinite

Cosa fa: genera regole dequeue per gli asset di WooCommerce su tutti i template tranne product, product-archive, cart, checkout e account. Gli handle sono woocommerce-general, woocommerce-layout, woocommerce-smallscreen, wc-blocks-style, woocommerce, wc-add-to-cart, wc-order-attribution, sourcebuster-js e woocommerce-inline. Aggiunge una regola che rimuove wc-cart-fragments da tutti i template, salvo opzione keep.

Come si usa: automatico. Le regole predefinite vengono prima di quelle dell'utente. A parità di chiave vince l'ultima, quindi una regola utente sostituisce quella predefinita.

Parametri: nessuno

Permessi: nessuno

Edizione: Pro (solo pacchetto Pro)

Limiti noti: con WooCommerce inattivo non genera regole.

Pagina prodotto con layout Nucleo

Cosa fa: sulla pagina di un prodotto servita da un layout Nucleo dell'area product (o single, se vale anche per i prodotti) toglie i fogli classici woocommerce-general, woocommerce-layout e woocommerce-smallscreen, e la galleria classica: script wc-zoom, wc-flexslider, wc-photoswipe, wc-photoswipe-ui-default (anche con i nomi senza wc-), fogli photoswipe e photoswipe-default-skin, markup della lightbox nel footer. Toglie wc-single-product: woo/tabs stampa il voto delle recensioni con radio button. Se il layout usa woo/add-to-cart con il modulo di Nucleo toglie anche wc-add-to-cart-variation, wc-add-to-cart e woocommerce: senza altri plugin che li richiedono, jQuery e jquery-blockui non si caricano. Con il modulo classico delle varianti (nucleo/woo/classic_variation_form) questi tre script restano. Lo stile di quel markup sta negli style.css dei blocchi: varianti e pulsante in woo/add-to-cart, avvisi in woo/notices, recensioni e stelle in woo/tabs.

Come si usa: automatico, sulle pagine prodotto del sito pubblico: lo esegue il runtime degli asset (wp_enqueue_scripts, priorità 9999) prima delle regole asset e della riduzione CSS. Il filtro nucleo/woo/lean_product_page con false lascia tutti i file di WooCommerce.

Parametri: nessuno

Permessi: nessuno

Edizione: Pro (solo pacchetto Pro)

Limiti noti: senza layout Nucleo per la pagina prodotto non cambia nulla. wc-blocks-style resta: serve ai blocchi WooCommerce nella descrizione del prodotto. Carrello, checkout e account restano con il front end classico.

Archivio prodotti con layout Nucleo

Cosa fa: sulla pagina Shop e sugli archivi di categoria o tag di prodotto serviti da un layout Nucleo dell'area product-archive (o archive) toglie i fogli classici woocommerce-general, woocommerce-layout e woocommerce-smallscreen e gli script wc-add-to-cart e woocommerce. Senza altri plugin che lo richiedono, jQuery non si carica. Le schede dei prodotti sono di Nucleo: woo/product-grid (con addToCart usa nucleo-store) o nc/collection.

Come si usa: automatico, come la pagina prodotto: lo esegue il runtime degli asset. Il filtro nucleo/woo/lean_product_archive con false lascia tutti i file di WooCommerce.

Parametri: nessuno

Permessi: nessuno

Edizione: Pro (solo pacchetto Pro)

Limiti noti: senza layout Nucleo per l'archivio il tema stampa il loop e non cambia nulla. Senza lo script woocommerce l'avviso del negozio (demo store notice) non si chiude con un clic.

Opzione cart fragments (wooFragments)

Cosa fa: decide se wc-cart-fragments resta caricato. Con keep la regola di rimozione non si genera. Con off (predefinito) lo script si rimuove da tutte le pagine.

Come si usa: admin, Nucleo AI → Impostazioni, scheda Prestazioni, campo "WooCommerce cart fragments". Oppure nucleo/settings-set con {"performance": {"wooFragments": "keep"}}. Il valore keep si salva nell'opzione nucleo_woo_fragments. Il valore off cancella l'opzione.

Parametri:

NomeTipoValori ammessiDefaultNote
performance.wooFragmentsstringkeep, offoffAltri valori: errore "wooFragments" must be "keep" or "off".

Permessi: manage_options, scope nucleo:admin

Edizione: Free (l'impostazione). L'effetto richiede il pacchetto Pro.

Attenzione

Nel pacchetto Free il campo si salva ma non ha effetto, perché manca il codice che genera le regole.

Blocchi woo/*: regole comuni

Cosa fa: ventuno blocchi nella categoria woocommerce. Tutti supportano stile (typography, color, spacing; woo/tabs anche border), responsive e visibility. Solo woo/cart e woo/cart-empty accettano figli. Nessuno accetta binding. woo/product-grid e le sei parti woo/cart-* sono statici; gli altri sono dinamici: il compilatore scrive uno slot e il runtime lo riempie a ogni richiesta.

Come si usa: si inseriscono nel documento come gli altri blocchi. Su una pagina Carrello o Checkout con un documento Nucleo, i blocchi WooCommerce si leggono e si modificano nella copia originale _nucleo_wp_content. Le ricette sono nel topic woocommerce di catalog-get.

Parametri: vedi ogni blocco.

Permessi: quelli della modifica del documento.

Edizione: Pro (solo pacchetto Pro)

Limiti noti: i blocchi di prodotto (price, stock, add-to-cart, gallery, short-description, attributes, tabs, related, upsell) leggono il prodotto della pagina. Fuori da una pagina prodotto restituiscono una stringa vuota. Ogni blocco restituisce una stringa vuota se mancano le funzioni WooCommerce che usa.

woo/price

Cosa fa: stampa get_price_html() del prodotto in un <p>. Include prezzo scontato e intervallo delle varianti, come li formatta WooCommerce.

Come si usa: blocco woo/price nel layout prodotto.

Parametri: nessuno

Permessi: vedi regole comuni

Edizione: Pro (solo pacchetto Pro)

Limiti noti: solo su pagina prodotto.

woo/stock

Cosa fa: stampa wc_get_stock_html() del prodotto.

Come si usa: blocco woo/stock.

Parametri: nessuno

Permessi: vedi regole comuni

Edizione: Pro (solo pacchetto Pro)

Limiti noti: solo su pagina prodotto.

woo/add-to-cart

Cosa fa: per un prodotto semplice stampa un modulo POST con campo quantità (minimo 1) e pulsante add-to-cart. Il testo del pulsante viene da single_add_to_cart_text(). Per un prodotto variabile stampa il modulo di Nucleo: un select per attributo (nome attribute_<attributo>, valore predefinito del prodotto), prezzo e disponibilità della variante, quantità e campo variation_id. Le varianti attive e visibili sono nell'attributo data-variations. Lo script sceglie la variante, mostra prezzo e disponibilità e aggiunge al carrello con la Store API tramite nucleo-store, senza ricaricare la pagina. Il messaggio di esito compare in una regione aria-live e il contatore del mini-cart si aggiorna. Senza JavaScript il modulo invia un POST normale: Nucleo trova la variante dagli attributi e la passa a WooCommerce.

Come si usa: blocco woo/add-to-cart. Lo script si carica con strategia idle, quindi è già attivo al primo clic e il modulo non parte due volte. Il filtro nucleo/woo/classic_variation_form (booleano, prodotto) con true stampa il modulo di WooCommerce woocommerce_variable_add_to_cart(), per i plugin che si agganciano a quel modulo. Il modulo classico vale anche oltre la soglia woocommerce_ajax_variation_threshold (30 varianti), perché quello di Nucleo stampa tutte le varianti nel markup.

Parametri: nessuno

Permessi: vedi regole comuni

Edizione: Pro (solo pacchetto Pro)

Limiti noti: non stampa nulla per prodotti non acquistabili e per tipi diversi da simple e variable, come raggruppati o esterni. La scelta della variante non cambia l'immagine di woo/gallery: lo script emette l'evento nucleo:variation sul modulo, con la variante in detail.

Cosa fa: stampa l'immagine principale (dimensione woocommerce_single) e, con almeno due immagini, una lista di miniature (woocommerce_gallery_thumbnail). Lo script cambia l'immagine principale al clic su una miniatura e con le frecce sinistra e destra.

Come si usa: blocco woo/gallery. Lo script si carica con strategia visible.

Parametri:

NomeTipoValori ammessiDefaultNote
prioritybooleantrue, falsefalsetrue: immagine principale con fetchpriority="high" e loading="eager". false: loading="lazy".
lightboxbooleantrue, falsetruetrue: zoom al passaggio del mouse (solo con puntatore fine) e lightbox al clic sull'immagine principale. false: nessuno dei due.

Permessi: vedi regole comuni

Edizione: Pro (solo pacchetto Pro)

Limiti noti: senza immagini non stampa nulla.

woo/short-description

Cosa fa: stampa la descrizione breve dopo il filtro woocommerce_short_description.

Come si usa: blocco woo/short-description.

Parametri: nessuno

Permessi: vedi regole comuni

Edizione: Pro (solo pacchetto Pro)

Limiti noti: se il testo è vuoto non stampa nulla.

woo/attributes

Cosa fa: stampa una lista <dl> con gli attributi visibili del prodotto. L'etichetta viene da wc_attribute_label(), il valore da get_attribute().

Come si usa: blocco woo/attributes.

Parametri: nessuno

Permessi: vedi regole comuni

Edizione: Pro (solo pacchetto Pro)

Limiti noti: gli attributi con get_visible() falso non compaiono. Senza attributi visibili non stampa nulla.

woo/tabs

Cosa fa: imposta global $product e global $post sul prodotto della pagina, legge le schede dal filtro woocommerce_product_tabs (Description, Reviews, Additional information e quelle dei plugin), le ordina per priority (default 10) ed esegue la callback di ognuna. Durante le callback la scheda Reviews usa il modello delle recensioni di WooCommerce (single-product-reviews.php, con stelle e voto), anche se il tema non dichiara il supporto a WooCommerce; un woocommerce/single-product-reviews.php del tema vince. Il voto del modulo è un gruppo di cinque radio button rating (filtro woocommerce_product_review_comment_form_args, solo durante il blocco), usabile con la tastiera e senza wc-single-product. Stampa il markup di nc/tabs con ruoli tablist, tab e tabpanel. Senza JavaScript tutti i pannelli restano visibili.

Come si usa: blocco woo/tabs. Lo script si carica con strategia idle.

Parametri: nessuno

Permessi: vedi regole comuni

Edizione: Pro (solo pacchetto Pro)

Limiti noti: salta le schede senza callback richiamabile. L'HTML delle callback, modulo recensioni incluso, passa senza filtri.

Cosa fa: stampa le card dei prodotti correlati da wc_get_related_products(): immagine woocommerce_thumbnail, nome con link in un h3 e prezzo. Con title stampa prima un h2 di sezione su tutta la riga.

Come si usa: blocco woo/related.

Parametri:

NomeTipoValori ammessiDefaultNote
limitinteger1–84Fuori intervallo il valore si riporta ai limiti. Un valore non intero diventa 4.
titlestring (contenuto, traducibile)testovuotoTitolo di sezione, per esempio "Prodotti correlati". Vuoto: nessun titolo.

Permessi: vedi regole comuni

Edizione: Pro (solo pacchetto Pro)

Limiti noti: senza correlati non stampa nulla. WooCommerce mescola i correlati a ogni richiesta; il blocco li riordina in un ordine fisso per prodotto, così la pagina resta uguale tra due caricamenti e il controllo della riduzione CSS può passare. Il blocco sceglie i correlati tra i primi 100 restituiti da WooCommerce.

woo/upsell

Cosa fa: stampa le card dei prodotti collegati come upsell (get_upsell_ids()), con lo stesso formato di woo/related.

Come si usa: blocco woo/upsell.

Parametri:

NomeTipoValori ammessiDefaultNote
limitinteger1–84Come woo/related.
titlestring (contenuto, traducibile)testovuotoCome woo/related.

Permessi: vedi regole comuni

Edizione: Pro (solo pacchetto Pro)

Limiti noti: senza upsell non stampa nulla.

woo/product-grid

Cosa fa: stampa una griglia di prodotti pubblicati con immagine, nome con link in un h3 e prezzo. Con title stampa prima un h2 di sezione. Senza risultati stampa "No products". È uno dei blocchi woo/* statici: la query gira alla compilazione.

Come si usa: blocco woo/product-grid. Il blocco dichiara la dipendenza query:product: la modifica di un prodotto mette in coda la ricompilazione delle pagine che lo usano.

Parametri:

NomeTipoValori ammessiDefaultNote
limitinteger1–246Riportato ai limiti.
categorystringslug di categoria prodotto""Passa da sanitize_title(). Vuoto: tutte le categorie.
orderbystringdate, title, pricedatedate decrescente; title e price crescenti.
addToCartbooleantrue, falsefalsePulsante in ogni scheda. Prodotto semplice acquistabile e disponibile: modulo di woo/add-to-cart, che aggiunge con nucleo-store senza ricaricare (lo script si carica con strategia idle); senza JavaScript il POST va alla pagina corrente. Altri tipi: link alla pagina prodotto con il testo di add_to_cart_text().
titlestring (contenuto, traducibile)testovuotoCome woo/related.

Permessi: vedi regole comuni

Edizione: Pro (solo pacchetto Pro)

Limiti noti: niente paginazione né filtri lato visitatore. Una sola categoria.

woo/mini-cart

Cosa fa: stampa un pulsante con contatore e un pannello vuoto. Il contatore parte dal cookie woocommerce_items_in_cart (0 senza cookie). All'apertura lo script legge il carrello dalla Store API (/wp-json/wc/store/v1/cart) e mostra articoli, totale, link a carrello e checkout. Il pulsante "Remove" chiama /remove-item. Con il cookie presente lo script aggiorna il contatore con items_count. I testi arrivano tradotti nell'attributo data-i18n. Le richieste passano dal modulo condiviso integrations/woocommerce/assets/store.js (window.NucleoStore), che lo script carica una volta per pagina. Il modulo conserva il nonce della Store API e avvisa tutti i blocchi iscritti a ogni cambio del carrello. Una risposta partita prima di una già mostrata viene scartata, per esempio una lettura superata da un clic su +: il pannello non torna a una quantità vecchia. Un errore della Store API compare nel pannello in una regione aria-live, come testo con le entità HTML decodificate, senza cancellare l'elenco. Nel negozio classico di WooCommerce il contatore arriva tra i frammenti della risposta AJAX di «Aggiungi al carrello».

Come si usa: blocco woo/mini-cart, di solito nell'header. Lo script si carica con strategia interaction.

Parametri:

CampoTipoPredefinitoEffetto
content.titlestringa traducibilevuotoTitolo del pannello
content.emptyTextstringa traducibiletesto tradotto di NucleoTesto del carrello vuoto
settings.displaydropdown, drawerdropdownCon drawer il pannello è un <dialog> modale a tutta altezza sul lato destro, con sfondo oscurato, chiusura con Esc, clic sullo sfondo o pulsante. Gli articoli sono card con miniatura, variante, quantità, prezzo e Rimuovi. In fondo: soglia, coupon, subtotale, sconto (solo se c'è), totale e i pulsanti Checkout e Carrello
settings.thumbnailsbooleanotrueMiniature degli articoli
settings.quantitynone, steppernoneCon stepper pulsanti − e +; − a quantità 1 rimuove l'articolo
settings.couponbooleanofalseCampo coupon ed elenco dei coupon applicati
settings.buttonsboth, cart, checkoutbothLink mostrati in fondo al pannello
settings.freeShippingFromnumero ≥ 00Soglia nella valuta del negozio. Con un valore maggiore di 0 il pannello mostra quanto manca. Il conto segue la spedizione gratuita di WooCommerce: articoli meno sconti, con le tasse se il carrello mostra i prezzi con le tasse (woocommerce_tax_display_cart). La soglia non viene letta dai metodi di spedizione

Permessi: vedi regole comuni

Edizione: Pro (solo pacchetto Pro)

Limiti noti: il manifesto indica un solo mini cart per pagina.

woo/notices

Cosa fa: stampa i messaggi di sessione di WooCommerce con wc_print_notices(true).

Come si usa: blocco woo/notices nei layout di carrello, checkout e account.

Parametri: nessuno

Permessi: vedi regole comuni

Edizione: Pro (solo pacchetto Pro)

Limiti noti: senza messaggi non stampa nulla.

woo/cart

Cosa fa: stampa il carrello. Con mode blocks esegue do_blocks() sul contenuto della pagina carrello di WooCommerce, se contiene il blocco woocommerce/cart. Altrimenti, o con mode classic, usa lo shortcode [woocommerce_cart]. Con mode nucleo il carrello è di Nucleo e si compone con i blocchi figli woo/cart-*. Il blocco stampa lo stato del carrello del visitatore, letto dalla Store API durante la richiesta (GET /wc/store/v1/cart), in uno script JSON. Lo script del blocco disegna le parti da quello stato e le aggiorna con nucleo-store. Gli errori della Store API compaiono in una regione aria-live. Sulla pagina carrello toglie i file del carrello classico: woocommerce-general, woocommerce-layout, woocommerce-smallscreen, select2, wc-cart, wc-country-select, wc-address-i18n, selectWoo, wc-add-to-cart, wc-checkout e woocommerce. A ogni modifica aggiorna il contatore di woo/mini-cart.

Come si usa: blocco woo/cart, unico blocco della pagina carrello. Con mode nucleo aggiungi come figli le parti che servono, nell'ordine voluto. Lo script si carica con strategia visible.

Parametri:

NomeTipoValori ammessiDefaultNote
modestringblocks, classic, nucleoblocksValore non valido: blocks. Con blocks e classic i figli si ignorano.

Permessi: vedi regole comuni

Edizione: Pro (solo pacchetto Pro)

Limiti noti: con mode nucleo il carrello richiede JavaScript, come il blocco Cart di WooCommerce. I plugin che modificano il carrello classico con hook PHP non agiscono sul carrello di Nucleo: per loro resta classic.

woo/cart-items, woo/cart-totals, woo/cart-coupon, woo/cart-shipping, woo/cart-actions, woo/cart-empty

Cosa fa: parti del carrello di Nucleo, solo dentro woo/cart con mode nucleo. Ogni parte stampa un contenitore con data-nc-cart-part e le sue opzioni in data-options; lo script di woo/cart lo riempie.

BloccoContenuto
woo/cart-itemsRighe con miniatura, nome con link, attributi della variante, quantità con − e + (− a 1 rimuove), totale di riga, «Remove»
woo/cart-totalsTitolo facoltativo, subtotale, sconto (se c'è), spedizione (se calcolata), tasse (se ci sono), totale
woo/cart-couponCampo coupon e coupon applicati, con il pulsante per toglierli
woo/cart-shippingTariffe di ogni pacco come radio button; con calculator paese e CAP per calcolarle
woo/cart-actionsPulsante al checkout e, con showContinue, link alla pagina Shop. HTML stampato dal server
woo/cart-emptyFigli qualsiasi, mostrati solo a carrello vuoto. Con il carrello vuoto le altre parti si nascondono

Come si usa: figli di woo/cart. Senza woo/cart-empty il carrello vuoto mostra solo le parti senza contenuto.

Parametri:

NomeTipoValori ammessiDefaultNote
woo/cart-items settings.thumbnailsbooleantrue, falsetrueMiniature degli articoli.
woo/cart-totals content.titlestring traducibiletestovuotoTitolo h2 dei totali.
woo/cart-shipping settings.calculatorbooleantrue, falsetrueModulo paese e CAP; i paesi vengono da WC()->countries->get_shipping_countries().
woo/cart-actions content.checkoutText, content.continueTextstring traducibiletestotesti tradotti di NucleoTesti del pulsante e del link.
woo/cart-actions settings.showContinuebooleantrue, falsetrueLink «continua gli acquisti».

Permessi: vedi regole comuni

Edizione: Pro (solo pacchetto Pro)

Limiti noti: fuori da woo/cart con mode nucleo le parti restano vuote.

woo/checkout

Cosa fa: come woo/cart, con la pagina checkout, il blocco woocommerce/checkout e lo shortcode [woocommerce_checkout].

Come si usa: blocco woo/checkout, unico blocco della pagina checkout.

Parametri:

NomeTipoValori ammessiDefaultNote
modestringblocks, classicblocksValore non valido: blocks.

Permessi: vedi regole comuni

Edizione: Pro (solo pacchetto Pro)

Limiti noti: Nucleo non riscrive il checkout: pagamenti, tasse e validazioni restano di WooCommerce e dei plugin di pagamento. Nel checkout a blocchi Nucleo governa i campi aggiuntivi (nucleo/woo-checkout-fields-set), le parti visibili (nucleo/woo-checkout-parts-set) e l'aspetto (sotto).

Aspetto di carrello e checkout a blocchi

Cosa fa: sulle pagine Carrello e Checkout che contengono il blocco woocommerce/cart o woocommerce/checkout carica il foglio integrations/woocommerce/assets/checkout.css, che porta i token del sito sui componenti di WooCommerce: font, colore del testo, pulsanti principali e «Effettua ordine» con colore primario e raggio, campi e menu con raggio e bordo, bordo di focus con il colore accento, titoli con il font dei titoli. Sulle stesse pagine toglie i fogli classici (woocommerce-general, woocommerce-layout, woocommerce-smallscreen, select2) e gli script che i blocchi non usano, tra cui selectWoo, wc-checkout e woocommerce. Senza altri script che lo chiedono, jQuery non si carica.

Come si usa: automatico. Il filtro nucleo/woo/checkout_tokens con false lo disattiva.

Parametri: nessuno

Permessi: nessuno

Edizione: Pro (solo pacchetto Pro)

Limiti noti: i selettori seguono le classi dei blocchi di WooCommerce (wc-block-components-*), che possono cambiare tra versioni. I gateway di pagamento che stampano markup proprio mantengono il loro stile.

woo/account

Cosa fa: stampa l'area cliente con lo shortcode [woocommerce_my_account].

Come si usa: blocco woo/account, unico blocco della pagina account.

Parametri: nessuno

Permessi: vedi regole comuni

Edizione: Pro (solo pacchetto Pro)

Limiti noti: nessuno rilevato.

Altri punti che dipendono da WooCommerce

Cosa fa: con WooCommerce attivo il kit ecommerce diventa disponibile (requisito woocommerce). L'audit degli asset e l'ottimizzatore CSS aggiungono campioni product, product-archive (pagina Shop prima delle categorie), cart, checkout e account.

Come si usa: automatico.

Parametri: nessuno

Permessi: quelli delle funzioni citate.

Edizione: Pro (kit, audit e ottimizzatore richiedono la licenza Pro)

Limiti noti: nessuno rilevato.

04Multilingua: Polylang e WPML

Pro

Le funzioni multilingua stanno nel pacchetto Pro.

Rilevamento e API comune

Cosa fa: espone la lingua corrente, la lingua di un post, le lingue del sito, le traduzioni di un post, l'impostazione della lingua e il collegamento di un gruppo di traduzioni. Se esistono le funzioni pll_* usa Polylang. Altrimenti usa i filtri e le azioni di WPML (wpml_current_language, wpml_post_language_details, wpml_active_languages, wpml_object_id, wpml_element_trid, wpml_set_element_language_details). Con WPML i post di un gruppo condividono il trid.

Come si usa: interno. Lo usano i layout, nucleo/doc-list (campo lingua), nucleo/doc-translate, l'export e l'import del sito, la scansione qualità e l'area admin (elenco lingue).

Parametri: nessuno. Filtri pubblici: nucleo/current_language (sostituisce la lingua corrente), nucleo/languages (lingue in admin e nella scansione), nucleo/translations (traduzioni nella scansione).

Permessi: nessuno

Edizione: Pro (solo pacchetto Pro)

Limiti noti: senza plugin multilingua tutte le funzioni restituiscono null o [], e le scritture non fanno nulla. Polylang ha la precedenza se sono presenti entrambi.

Lingua nei layout (condizione language)

Cosa fa: aggiunge la lingua corrente al contesto della richiesta. Un layout con condizioni language vale solo per quelle lingue. La mappa dei layout salva le lingue accanto a ogni voce. Due layout sono in conflitto solo se valgono nella stessa lingua.

Come si usa: condizione {"type": "language", "value": "en"} in meta.conditions.include del layout. In admin, Nucleo AI → Layout, opzione language: con Polylang o WPML assenti mostra una spiegazione (missing: explain).

Parametri: value (stringa), codice lingua.

Permessi: edit_theme_options per la pagina Layouts.

Edizione: Free nel pannello admin. L'effetto richiede il pacchetto Pro.

Limiti noti:

  • La lingua corrente si cerca solo se sono presenti Polylang (pll_current_language), WPML (ICL_SITEPRESS_VERSION) o il filtro nucleo/current_language.
  • Senza lingua nel contesto tutti i layout valgono, anche quelli con condizione language.
  • Nel pacchetto Free la lingua è sempre assente e la condizione non filtra, anche con il filtro nucleo/current_language.
  • Fuori dalla richiesta, nell'ability nucleo/layout-explain, la lingua viene dal post.

Copia del documento nelle traduzioni Polylang

Cosa fa: aggiunge la meta _nucleo_doc al filtro pll_copy_post_metas. Quando Polylang crea una traduzione, la traduzione nasce con il documento della lingua di origine. I testi si traducono poi nella copia.

Come si usa: automatico, nelle richieste admin, REST e CLI.

Parametri: nessuno

Permessi: quelli di Polylang per creare traduzioni.

Edizione: Pro (solo pacchetto Pro)

Limiti noti: il filtro si aggancia una sola volta.

Configurazione WPML (wpml-config.xml)

Cosa fa: dichiara a WPML la meta _nucleo_doc come da tradurre (action="translate"). Dichiara come testi traducibili, sotto root, i campi content (chiavi *), label, title, alt e placeholder, e gli stessi campi dei blocchi figli fino a quattro livelli di children.

Come si usa: WPML legge il file dalla cartella del plugin.

Parametri: nessuno

Permessi: quelli di WPML.

Edizione: Pro (solo pacchetto Pro)

Limiti noti: i blocchi annidati oltre il quarto livello di children non sono dichiarati.

nucleo/doc-translate

Cosa fa: copia un documento in un nuovo post dello stesso tipo, applica i testi tradotti e collega la traduzione all'originale nel plugin multilingua.

Come si usa: ability nucleo/doc-translate. I testi da tradurre si leggono con nucleo/doc-texts.

Parametri:

NomeTipoValori ammessiDefaultNote
postIdinteger≥ 1—Obbligatorio. Documento di origine.
langstringregex ^[a-z-]{2,5}$ (case insensitive)—Obbligatorio. Salvato in minuscolo.
titlestringnon vuototitolo di origineLo slug deriva dal titolo.
textsarray di {id, path, text}path da nucleo/doc-texts—Obbligatorio.
publishbooleanfalse

Permessi: edit_post sul documento di origine. Con publish: true anche publish_post. Scope nucleo:write.

Edizione: Pro. Senza licenza attiva l'ability non si registra.

Limiti noti: la copia nasce in bozza e si pubblica dopo l'applicazione dei testi. Se un testo non si applica, la copia si elimina, così un nuovo tentativo non trova una traduzione a metà. Se esiste già una traduzione nella lingua richiesta, restituisce il suo postId con existing: true e non crea una seconda copia. Errori: same_language (il documento è già in quella lingua) e unknown_language (lingua non configurata nel sito), con ok: false; invalid_input (WP_Error); not_found, create_failed e gli errori di nucleo/doc-texts-set. Se il post di origine non ha lingua, la traduzione riceve la lingua ma non viene collegata a un gruppo. Dopo una copia riuscita scatta l'azione nucleo/translation_created con $newId, $sourceId e $lang.

Lingua nell'export e nell'import del sito

Cosa fa: l'export scrive wp.lang per ogni documento e wp.translations se il gruppo ha più di un membro esportato. L'import imposta la lingua e ricollega i gruppi di traduzione.

Come si usa: automatico durante export e import.

Parametri: nessuno

Permessi: quelli di export e import.

Edizione: Pro (solo pacchetto Pro). Nel pacchetto Free i campi di lingua non si scrivono e non si applicano.

Limiti noti: la lingua accettata all'import segue la stessa regola di nucleo/doc-translate.

Controllo seo.hreflang.missing

Cosa fa: nella scansione del sito segnala le pagine pubblicate senza una traduzione in tutte le lingue del sito. Gravità warning.

Come si usa: scansione del motore qualità.

Parametri: nessuno. Filtri nucleo/languages e nucleo/translations.

Permessi: quelli della scansione.

Edizione: Free (il controllo). Senza il pacchetto Pro le lingue arrivano solo dal filtro nucleo/languages.

Limiti noti: con meno di due lingue non segnala nulla. Nucleo non stampa tag hreflang: il controllo verifica solo l'esistenza delle traduzioni.

05SEO: Yoast SEO e Rank Math

Lettura dei meta SEO

Cosa fa: restituisce title, description, source, noindex e canonical di un post.

Con Yoast (costante WPSEO_VERSION) legge da YoastSEO()->meta->for_post() se disponibile. Altrimenti usa le meta _yoast_wpseo_title e _yoast_wpseo_metadesc. noindex vale se _yoast_wpseo_meta-robots-noindex è 1. canonical viene da _yoast_wpseo_canonical.

Con Rank Math (costante RANK_MATH_VERSION) legge le meta rank_math_title, rank_math_description e rank_math_canonical_url. noindex vale se rank_math_robots contiene noindex.

Senza plugin SEO usa meta.seo.title del documento o il titolo del post, meta.seo.description, noindex se blog_public vale 0, e canonical vuoto.

Come si usa: interno. Lo usano i controlli SEO del documento (lunghezza di title tra 30 e 60 caratteri, description tra 70 e 160, noindex, canonical) e la scansione dei title duplicati. Il filtro nucleo/seo/meta modifica il risultato.

Parametri: nessuno

Permessi: nessuno

Edizione: Free

Limiti noti: Yoast ha la precedenza se sono attivi entrambi. Con Rank Math i valori sono quelli grezzi delle meta: variabili di template come %title% non vengono risolte. Con Yoast senza la sua API vale lo stesso per le meta grezze.

Disattivazione dei tag SEO di Nucleo

Cosa fa: se Yoast o Rank Math è attivo, Nucleo non stampa title, meta description, Open Graph e robots da meta.seo. Non stampa il JSON-LD e non filtra la sitemap per escludere le pagine noindex.

Come si usa: automatico.

Parametri: nessuno

Permessi: nessuno

Edizione: Free

Limiti noti: con un plugin SEO attivo meta.seo del documento è ignorato. Il registro schema.org salta per default i tipi WebPage, WebSite, Organization e BreadcrumbList. Il filtro nucleo/schema/skip_types cambia l'elenco.

Cosa fa: il blocco nc/breadcrumbs usa l'HTML di yoast_breadcrumb() o di rank_math_get_breadcrumbs(), se la funzione esiste e restituisce testo. Altrimenti costruisce i breadcrumb da solo.

Come si usa: automatico nel blocco.

Parametri: nessuno

Permessi: nessuno

Edizione: Free

Limiti noti: il controllo guarda la presenza delle funzioni, non il plugin SEO attivo.

06Plugin di moduli

Blocco nc/form

Cosa fa: incorpora un modulo di Contact Form 7, Gravity Forms, WPForms o Fluent Forms tramite shortcode, in uno slot dinamico. Lo shortcode è contact-form-7, gravityform (con ajax="true"), wpforms o fluentform. L'output sta in un <div class="nc-form">.

Come si usa: blocco nc/form con plugin e id del modulo creato nel plugin.

Parametri:

NomeTipoValori ammessiDefaultNote
pluginstringcf7, gravity, wpforms, fluent—Obbligatorio
idstringID del modulo—Obbligatorio

Permessi: quelli della modifica del documento.

Edizione: Free

Limiti noti: lo stile del blocco imposta griglia, font ereditato, bordo e focus visibile dei campi. Con plugin sconosciuto o id vuoto non stampa nulla. Nucleo non verifica che il plugin del modulo sia attivo: senza plugin lo shortcode resta non elaborato.

Asset dei plugin di moduli solo dove servono

Cosa fa: genera regole dequeue per gli asset dei plugin di moduli su tutte le pagine, tranne quelle che contengono un blocco nc/form di quel plugin. Il blocco dichiara la dipendenza form:<plugin>.

PluginHandle
cf7contact-form-7, swv
gravitygform_gravityforms, gform_json
wpformswpforms-full
fluentfluent-form-styles, fluent-form-submission

Come si usa: automatico, prima delle regole dell'utente.

Parametri: nessuno

Permessi: nessuno

Edizione: Free

Limiti noti: un modulo inserito con shortcode fuori da nc/form non crea la dipendenza: i suoi asset vengono rimossi.

08Cache e ottimizzazione

Svuotamento delle cache di pagina

Cosa fa: dopo il salvataggio di un documento svuota la cache della sua pagina. Dopo il salvataggio di un layout (nucleo_layout) svuota tutta la cache. Chiama ogni plugin solo se è presente la sua funzione o classe: LiteSpeed Cache (azioni litespeed_purge_url e litespeed_purge_all), WP Rocket, W3 Total Cache, WP Super Cache, SiteGround, WP Fastest Cache, Breeze, plugin Cloudflare, WP Engine e Kinsta. Alla fine scatta nucleo/purge_url o nucleo/purge_all.

Come si usa: automatico al salvataggio.

Parametri: nessuno

Permessi: nessuno

Edizione: Free

Limiti noti: WP Fastest Cache non ha svuotamento totale. Breeze ha solo svuotamento totale, anche per un singolo post.

Esclusione del CSS di Nucleo da WP Rocket

Cosa fa: aggiunge il pattern <uploads>/nucleo/css/(.*).css, con il percorso della cartella di wp_upload_dir() (di solito /wp-content/uploads/nucleo/css/(.*).css), ai filtri rocket_rucss_safelist (Remove Unused CSS) e rocket_exclude_css.

Come si usa: automatico se è definita la costante WP_ROCKET_VERSION, in ogni contesto, anche nel frontend.

Parametri: nessuno

Permessi: nessuno

Edizione: Free

Limiti noti: nessuno rilevato.

Avviso di conflitto con plugin che uniscono il CSS

Cosa fa: mostra in admin un avviso "Nucleo: conflitti di cache rilevati" se un plugin unisce i file CSS. L'unione genera file diversi per pagina e annulla le varianti CSS per template di Nucleo. Ogni riga indica come risolvere: spegnere l'unione o escludere wp-content/uploads/nucleo/.

PluginCondizione
Autoptimizeautoptimize/autoptimize.php attivo e autoptimize_css_aggregate = on
WP Rocketwp-rocket/wp-rocket.php attivo e minify_concatenate_css non vuoto
LiteSpeed Cachelitespeed-cache/litespeed-cache.php attivo e litespeed.conf.optm-css_comb vero
W3 Total Cachew3-total-cache/w3-total-cache.php attivo (sempre: l'impostazione è in un file)
Fast Velocity Minifyfast-velocity-minify/fvm.php attivo

Come si usa: automatico, nelle notifiche dell'area admin.

Parametri: nessuno

Permessi: manage_options per vedere l'avviso.

Edizione: Free

Limiti noti: legge solo i plugin attivi del sito, non quelli attivati a livello di rete in multisite. Per W3 Total Cache e Fast Velocity Minify l'avviso compare a ogni attivazione del plugin, senza leggere l'impostazione. Il titolo dell'avviso è in italiano e non passa per le traduzioni. L'unione di file JS non è controllata.

09Campi personalizzati

Sorgenti di binding ACF, Meta Box, JetEngine

Cosa fa: i bind dei blocchi leggono campi con le sorgenti acf, metabox e jetengine. Il cambio di una meta letta da un bind metabox o acf ricompila la pagina.

Come si usa: si indica la sorgente nel bind del blocco.

Parametri: dipendono dal bind.

Permessi: quelli della modifica del documento.

Edizione: Free

Limiti noti: nessuno rilevato.

Esc
↑↓ per scegliere↵ per aprireEsc per chiudereRicerca locale, nessun dato inviato