Guida all'installazione dei widget
Scopri come aggiungere la Lettura di oggi o le Letture della domenica al tuo sito in pochi minuti.
Provalo
Demo dal vivo
Guarda esattamente come appare il widget prima di installarlo. Cambia tradizione, lingua, tema e dimensione — l'anteprima si aggiorna all'istante.
Cattolico · Lettura del giorno · Chiaro
Letture domenicali
Protestante · Letture della domenica · Scuro
Lettura biblica di oggi
Ortodosso · Lettura del giorno · Chiaro
Vuoi provare tutte le opzioni?
Il generatore interattivo ti permette di combinare tradizione, lingua, tema, dimensione e opzioni — e copia il codice di incorporamento per te.
Inizio rapido
L'installazione in cinque minuti
La via più rapida: incolla, salva, fatto. Scegli la piattaforma per una guida passo passo.
Consigliato — incorporamento via script
Iframe a ridimensionamento automatico. Funziona su ogni sito moderno.
<script src="https://sundaybiblereadings.com/widgets/embed.js" async></script>
<div data-sbr-widget="daily-reading"
data-locale="auto"
data-tradition="catholic"
data-theme="light"
data-size="medium"></div>Alternativa — incorporamento via iframe
Usalo quando non sono ammessi script di terze parti.
<iframe
src="https://sundaybiblereadings.com/widgets/embed/daily-reading?locale=auto&tradition=catholic&theme=light&size=medium"
width="100%"
height="320"
loading="lazy"
style="border:0;overflow:hidden;width:100%;"
title="Sunday Bible Readings"></iframe>Guide di installazione
Passo passo per ogni piattaforma
Scegli il tuo CMS o framework. Ogni guida ha codice copiabile, errori comuni e checklist di successo.
WordPress
Funziona su ogni piano WordPress che consente HTML personalizzato — Gutenberg, Elementor e l'Editor Classico sono tutti supportati.
Passi
- Modifica il post, la pagina o l'area widget dove vuoi mostrare la lettura.
- Nell'editor a blocchi clicca "+" e scegli "HTML personalizzato". In Elementor trascina un widget "HTML". Nel Classico passa alla scheda "Testo".
- Incolla lo snippet qui sotto.
- Salva / pubblica. Il widget appare subito sul sito.
Per sidebar e footer usa Aspetto → Widget → HTML personalizzato.
Se il tema richiede script nel footer, metti il <script> nel campo "Footer scripts" e il <div data-sbr-widget="..."> dove vuoi mostrare il widget.
Codice di esempio
<script src="https://sundaybiblereadings.com/widgets/embed.js" async></script>
<div data-sbr-widget="daily-reading"
data-locale="auto"
data-tradition="catholic"
data-theme="light"
data-size="medium"></div>Errori comuni
- Incollare in un blocco paragrafo — WordPress farà l'escape dell'HTML.
- Plugin di cache (WP Rocket, W3 Total Cache) che mostrano una pagina vecchia — svuota la cache dopo aver pubblicato.
- Plugin di sicurezza che rimuovono <script> — consenti gli script da sundaybiblereadings.com.
Checklist di successo
- Blocco HTML / Codice usato (non paragrafo).
- Cache svuotata.
- Widget visibile sul front-end (non solo nell'editor).
Squarespace
Squarespace 7.1 supporta i widget tramite il blocco "Codice". I piani a pagamento permettono di iniettare lo script su tutto il sito.
Passi
- Modifica la pagina dove vuoi il widget.
- Clicca "+" e inserisci un blocco "Codice".
- Assicurati che "Mostra sorgente" sia OFF e il tipo sia HTML.
- Incolla lo snippet e salva.
Per usarlo ovunque vai in Impostazioni → Avanzate → Iniezione codice → Footer e incolla solo il tag <script> una volta. Poi metti il <div data-sbr-widget="..."> nelle singole pagine.
Codice di esempio
<script src="https://sundaybiblereadings.com/widgets/embed.js" async></script>
<div data-sbr-widget="daily-reading"
data-locale="auto"
data-tradition="catholic"
data-theme="light"
data-size="medium"></div>Errori comuni
- Usare il piano gratuito, che disabilita i blocchi Codice.
- Lasciare "Mostra sorgente" attivo — stampa l'HTML come testo.
- Avvolgere lo snippet in un blocco Markdown.
Checklist di successo
- Pagina salvata e pubblicata.
- Blocco Codice contiene HTML, non testo.
- L'anteprima mobile mostra ancora il widget.
Wix
Usa l'iframe per il risultato più coerente. L'editor Wix isola gli script di terze parti.
Passi
- Nell'editor Wix clicca Aggiungi (+) → Codice di incorporamento → HTML Embed.
- Scegli "Codice" e incolla lo snippet iframe.
- Ridimensiona il segnaposto.
- Pubblica.
Su Wix Business / VIP puoi usare lo script via Impostazioni → Codice personalizzato → Aggiungi → Fine body.
Codice di esempio
<iframe
src="https://sundaybiblereadings.com/widgets/embed/daily-reading?locale=auto&tradition=catholic&theme=light&size=medium"
width="100%"
height="320"
loading="lazy"
style="border:0;overflow:hidden;width:100%;"
title="Sunday Bible Readings"></iframe>Errori comuni
- Scegliere "Indirizzo web" invece di "Codice".
- Iframe troppo basso — imposta altezza ≥ 320px.
- Dimenticare di pubblicare (Salva non basta).
Checklist di successo
- Elemento HTML Embed aggiunto.
- Altezza iframe ≥ 320px su desktop.
- Sito pubblicato.
Joomla
Usa un modulo HTML personalizzato o un articolo in modalità HTML. Verifica che editor e filtri di testo non rimuovano gli script.
Passi
- Vai in Estensioni → Moduli → Nuovo → Personalizzato.
- Nell'editor clicca "Cambia editor" per passare a HTML grezzo.
- Incolla lo snippet, assegna il modulo a una posizione e salva.
- Controlla Sistema → Configurazione → Filtri di testo e imposta il gruppo a "Nessun filtro".
Codice di esempio
<script src="https://sundaybiblereadings.com/widgets/embed.js" async></script>
<div data-sbr-widget="daily-reading"
data-locale="auto"
data-tradition="catholic"
data-theme="light"
data-size="medium"></div>Errori comuni
- TinyMCE rimuove <script> — disattiva l'editor prima di incollare.
- Filtro di testo blocca iframe / script — regola per gruppo.
- Modulo assegnato alla posizione errata del template.
Checklist di successo
- Modulo pubblicato in posizione visibile.
- Filtro di testo non rimuove gli script per il gruppo.
- Widget visibile nelle pagine configurate.
Drupal
Usa un Blocco personalizzato con formato Full HTML. Abilita Full HTML per il ruolo che inserisce il widget.
Passi
- Vai in Struttura → Layout blocchi → Libreria blocchi → Aggiungi.
- Imposta Formato testo a "Full HTML".
- Incolla lo snippet nel corpo e salva.
- Posiziona il blocco in qualsiasi regione.
Codice di esempio
<script src="https://sundaybiblereadings.com/widgets/embed.js" async></script>
<div data-sbr-widget="daily-reading"
data-locale="auto"
data-tradition="catholic"
data-theme="light"
data-size="medium"></div>Errori comuni
- Usare Basic HTML — rimuove iframe e script.
- Dimenticare di posizionare il blocco dopo averlo creato.
- Moduli CSP aggressivi che bloccano sundaybiblereadings.com.
Checklist di successo
- Formato Full HTML usato.
- Blocco in regione visibile.
- Cache ricostruita (admin/config/development/performance).
Static HTML
Incolla lo snippet dentro <body>. Funziona con HTML puro, GitHub Pages, Netlify, Cloudflare Pages, Vercel, ecc.
Passi
- Apri il file HTML in un editor.
- Incolla lo snippet dentro <body>.
- Salva e carica.
Codice di esempio
<!doctype html>
<html lang="en">
<body>
<script src="https://sundaybiblereadings.com/widgets/embed.js" async></script>
<div data-sbr-widget="daily-reading"
data-locale="auto"
data-tradition="catholic"
data-theme="light"
data-size="medium"></div>
</body>
</html>Errori comuni
- Incollare in <head> — lo script ha bisogno del DOM.
- Servire in HTTP — il contenuto misto blocca il widget.
Checklist di successo
- Snippet dentro <body>.
- Sito servito in HTTPS.
- Pagina ricaricata dopo l'upload.
React
Renderizza il <div> marker in qualsiasi componente e carica lo script una sola volta via useEffect per evitare l'SSR.
Passi
- Crea un componente BibleWidget (snippet sotto).
- Importalo dove vuoi nell'app.
- Assicurati che lo script venga aggiunto una sola volta anche se il componente si monta più volte.
Codice di esempio
import { useEffect } from "react";
export function BibleWidget() {
useEffect(() => {
const id = "sbr-widget-loader";
if (document.getElementById(id)) return;
const s = document.createElement("script");
s.id = id;
s.src = "https://sundaybiblereadings.com/widgets/embed.js";
s.async = true;
document.body.appendChild(s);
}, []);
return (
<div
data-sbr-widget="daily-reading"
data-locale="auto"
data-tradition="catholic"
data-theme="auto"
data-size="medium"
/>
);
}Errori comuni
- Chiamare document.createElement in SSR — usa useEffect.
- Aggiungere lo script più volte — controlla l'id esistente.
- CSP stretta senza https://sundaybiblereadings.com in frame-src/script-src.
Checklist di successo
- Script aggiunto una sola volta.
- Il componente renderizza il div marker.
- Nessun warning di hydration in console.
Next.js
Usa next/script con strategy="afterInteractive". Funziona con App Router (marca il componente "use client") e Pages Router.
Passi
- Crea un Client Component (App Router) o qualsiasi componente (Pages Router) che incapsuli next/script.
- Renderizza il div marker accanto a Script.
- Importa e usa il componente dove vuoi.
Codice di esempio
// app/components/BibleWidget.tsx — App Router (Client Component)
"use client";
import Script from "next/script";
export default function BibleWidget() {
return (
<>
<Script
src="https://sundaybiblereadings.com/widgets/embed.js"
strategy="afterInteractive"
/>
<div
data-sbr-widget="sunday-readings"
data-locale="auto"
data-tradition="catholic"
data-theme="auto"
data-size="medium"
/>
</>
);
}Errori comuni
- Dimenticare "use client" nell'App Router.
- Usare strategy="beforeInteractive" — serve il DOM.
- Importare il file a livello di pagina senza marcarlo client.
Checklist di successo
- Componente marcato come client (App Router).
- Script renderizzato una sola volta per pagina.
- La build di produzione monta ancora il widget.
Vue / Nuxt
Stesso schema di React: aggiungi lo script in onMounted (o mounted() in Options API) e renderizza il template marker.
Passi
- Crea un componente single-file (snippet sotto).
- Importalo dove vuoi nell'app.
- In Nuxt, usa <ClientOnly> per saltare l'SSR se preferisci.
Codice di esempio
<!-- BibleWidget.vue -->
<template>
<div
data-sbr-widget="daily-reading"
data-locale="auto"
data-tradition="catholic"
data-theme="auto"
data-size="medium"
/>
</template>
<script setup>
import { onMounted } from "vue";
onMounted(() => {
if (document.getElementById("sbr-widget-loader")) return;
const s = document.createElement("script");
s.id = "sbr-widget-loader";
s.src = "https://sundaybiblereadings.com/widgets/embed.js";
s.async = true;
document.body.appendChild(s);
});
</script>Errori comuni
- Caricare lo script in contesto SSR — usa onMounted.
- Montare più copie dello script.
Checklist di successo
- Controllo dell'id evita duplicati.
- Widget renderizzato dopo refresh forzato.
- Funziona in modalità universale di Nuxt.
Personalizza
Ogni opzione, spiegata
La personalizzazione avviene tramite attributi data-* sul div marker (o parametri nell'URL dell'iframe).
| Attributo | Valori | Note |
|---|---|---|
| data-sbr-widget | daily-readingsunday-readings | Obbligatorio. Sceglie quale widget mostrare. |
| data-locale | autoenesptfritdepl | "auto" rileva la lingua del browser, con inglese come fallback. |
| data-tradition | catholicprotestantorthodox | Controlla i riferimenti biblici e i link. |
| data-theme | lightdarkauto | "auto" segue il tema di sistema del visitatore. |
| data-size | smallmediumlarge | Influisce su tipografia e altezza iniziale dell'iframe. |
| data-logo | 10 | Mostra l'intestazione con l'icona del libro. |
| data-desc | 10 | Mostra la breve riflessione / descrizione. |
Esempi di incorporamento
Script vs iframe
Entrambi gratuiti. Scegli quello adatto al tuo CMS.
Incorporamento via script (consigliato)
Un piccolo script trova ogni data-sbr-widget nella pagina, inserisce un iframe responsive e lo ridimensiona automaticamente, senza salti di layout.
Consigliato per: WordPress, Squarespace (a pagamento), HTML statico, React, Next.js, Vue.
Incorporamento via iframe
Un singolo <iframe> con altezza iniziale fissa. Nessun JavaScript richiesto.
Consigliato per: Wix, Joomla/Drupal vincolati, ambienti con CSP rigorosa, email (gli iframe vengono rimossi: collega alla pagina canonica).
Compatibilità
Browser supportati
Tutti i browser evergreen delle ultime due versioni principali.
IE 11 non è supportato. Safari mobile, Chrome Android e Firefox Android sono supportati.
Risoluzione problemi
Risolvi i problemi comuni
Cerca per sintomo. Se manca qualcosa, scrivici e lo aggiungiamo.
Buone pratiche
Dove posizionare il widget
Accessibilità
- Link e CTA navigabili da tastiera.
- HTML semantico (article, header, footer).
- Contrasto colori conforme WCAG AA in entrambi i temi.
- Compatibile con screen reader — titolo e meta annunciati.
Prestazioni
- Script loader piccolo e asincrono.
- Iframe caricato in modo lazy (loading="lazy").
- Ridimensionamento via postMessage — niente layout shift.
- Responsive di default; nessun CSS extra.
Attribuzione
- I widget sono completamente gratuiti.
- Il footer "Powered by Sunday Bible Readings" deve restare visibile.
- Il link porta alla pagina canonica appropriata.
- Non è consentito rimuovere o nascondere l'attribuzione.
Aggiornamenti
Installa e dimentica
I widget mostrano sempre le ultime letture. Non serve ridistribuire il sito né aggiornare lo snippet. Ogni giorno il widget mostra la lettura del giorno; ogni settimana, le letture della domenica più vicina.
FAQ
Domande frequenti
Supporto