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.

Cattolica
Chiaro

Cattolico · Lettura del giorno · Chiaro

Protestante
Scuro

Protestante · Letture della domenica · Scuro

Ortodossa
Chiaro

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.

Apri il generatore

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

Facile
2 min

Funziona su ogni piano WordPress che consente HTML personalizzato — Gutenberg, Elementor e l'Editor Classico sono tutti supportati.

Passi

  1. Modifica il post, la pagina o l'area widget dove vuoi mostrare la lettura.
  2. Nell'editor a blocchi clicca "+" e scegli "HTML personalizzato". In Elementor trascina un widget "HTML". Nel Classico passa alla scheda "Testo".
  3. Incolla lo snippet qui sotto.
  4. 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

Facile
2 min

Squarespace 7.1 supporta i widget tramite il blocco "Codice". I piani a pagamento permettono di iniettare lo script su tutto il sito.

Passi

  1. Modifica la pagina dove vuoi il widget.
  2. Clicca "+" e inserisci un blocco "Codice".
  3. Assicurati che "Mostra sorgente" sia OFF e il tipo sia HTML.
  4. 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

Facile
3 min

Usa l'iframe per il risultato più coerente. L'editor Wix isola gli script di terze parti.

Passi

  1. Nell'editor Wix clicca Aggiungi (+) → Codice di incorporamento → HTML Embed.
  2. Scegli "Codice" e incolla lo snippet iframe.
  3. Ridimensiona il segnaposto.
  4. 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

Medio
4 min

Usa un modulo HTML personalizzato o un articolo in modalità HTML. Verifica che editor e filtri di testo non rimuovano gli script.

Passi

  1. Vai in Estensioni → Moduli → Nuovo → Personalizzato.
  2. Nell'editor clicca "Cambia editor" per passare a HTML grezzo.
  3. Incolla lo snippet, assegna il modulo a una posizione e salva.
  4. 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

Medio
5 min

Usa un Blocco personalizzato con formato Full HTML. Abilita Full HTML per il ruolo che inserisce il widget.

Passi

  1. Vai in Struttura → Layout blocchi → Libreria blocchi → Aggiungi.
  2. Imposta Formato testo a "Full HTML".
  3. Incolla lo snippet nel corpo e salva.
  4. 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

Facile
1 min

Incolla lo snippet dentro <body>. Funziona con HTML puro, GitHub Pages, Netlify, Cloudflare Pages, Vercel, ecc.

Passi

  1. Apri il file HTML in un editor.
  2. Incolla lo snippet dentro <body>.
  3. 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

Facile
3 min

Renderizza il <div> marker in qualsiasi componente e carica lo script una sola volta via useEffect per evitare l'SSR.

Passi

  1. Crea un componente BibleWidget (snippet sotto).
  2. Importalo dove vuoi nell'app.
  3. 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

Facile
3 min

Usa next/script con strategy="afterInteractive". Funziona con App Router (marca il componente "use client") e Pages Router.

Passi

  1. Crea un Client Component (App Router) o qualsiasi componente (Pages Router) che incapsuli next/script.
  2. Renderizza il div marker accanto a Script.
  3. 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

Facile
3 min

Stesso schema di React: aggiungi lo script in onMounted (o mounted() in Options API) e renderizza il template marker.

Passi

  1. Crea un componente single-file (snippet sotto).
  2. Importalo dove vuoi nell'app.
  3. 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).

AttributoValoriNote
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.

Chrome
Firefox
Safari
Edge
Brave

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

    Metti la Lettura di oggi in home page, in alto.
    Metti le Letture della domenica vicino agli orari delle celebrazioni.
    Lascia spazio attorno al widget.
    Evita tab nascoste e accordion chiusi: il widget non riesce a misurarsi.
    Usa un widget sopra la piega e uno sotto quando entrambi sono rilevanti.
    Prova su desktop e mobile prima di annunciarlo.

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

Hai bisogno di aiuto?