Aggiunge una barra con informazioni di lettura (tempo, conteggio parole, visualizzazioni) e strumenti di accessibilità (ridimensionamento font, contrasto, stampa pulita) ai contenuti WordPress.
Versione
1.1.3
Autore
LevelNetwork.it
Requisiti Minimi
WordPress 5.4+, PHP 7.4+
1. Introduzione
WRT Reading Tools è un plugin completo progettato per migliorare l'esperienza di lettura e l'accessibilità dei contenuti sul tuo sito WordPress. Aggiunge una barra elegante e personalizzabile sopra o sotto gli Articoli e le Pagine, fornendo ai lettori metadati utili e strumenti interattivi.
Il plugin è leggero, predisposto per la traduzione e offre ampie opzioni di personalizzazione tramite il pannello di amministrazione, inclusa un'anteprima colori in tempo reale.
2. Funzionalità Principali
2.1 Componenti Informativi
Conteggio Parole: Calcola e mostra automaticamente il numero totale di parole nel contenuto principale.
Utilizza un metodo DOM/XPath avanzato per una maggiore precisione, incluso un sistema di fallback. Puoi definire selettori CSS specifici per mirare o escludere aree dal conteggio.
Tempo di Lettura Stimato: Mostra il tempo necessario per leggere l'articolo in minuti, calcolato in base al conteggio delle parole e a una velocità configurabile di Parole Al Minuto (WPM).
Contatore Visualizzazioni: Traccia e mostra il numero di visualizzazioni dell'articolo. Utilizza AJAX per la massima compatibilità con i sistemi di cache, include nonce di sicurezza e tracciamento tramite cookie per prevenire conteggi duplicati.
Nota: Disabilitato di default; deve essere attivato nelle impostazioni. Gli amministratori loggati non vengono conteggiati.
2.2 Strumenti di Accessibilità e Utilità
Ridimensionamento Font (Resizer): Pulsanti "+" e "-" per aumentare o diminuire la dimensione del font del contenuto principale. Include un pulsante opzionale "Reset". Memorizza le preferenze dell'utente tramite LocalStorage.
Modalità Contrasto (Night Mode): Un interruttore per attivare/disattivare una modalità ad alto contrasto o notturna. Memorizza la preferenza dell'utente. Un'ampia selezione di icone per il pulsante è disponibile direttamente nelle impostazioni.
Stampa Pulita: Un pulsante per stampare una versione pulita del solo contenuto principale, formattato per la stampa nascondendo elementi superflui come la barra stessa, le sidebar o i footer. Utilizza un iframe nascosto per risultati precisi.
2.3 Funzionalità Backend e Personalizzazione
50 Palette Colori Integrate: Un'ampia selezione di schemi colore predefiniti con un'anteprima in tempo reale direttamente nella pagina delle impostazioni.
Selettori Target ed Esclusioni: Impostazioni cruciali per definire i selettori CSS del tema su cui il ridimensionamento font e la funzione di stampa devono agire, e specifici elementi da ignorare (come pubblicità iniettate o box autore), garantendo la compatibilità con quasi tutti i temi.
Metabox Statistiche: Aggiunge un box nella schermata di modifica degli articoli (nella sidebar laterale) che mostra le visualizzazioni totali, consente di impostare un valore di partenza personalizzato per quell'articolo e include un pulsante AJAX per azzerare le statistiche.
3. Installazione e Setup Iniziale
Carica la cartella del plugin nella directory /wp-content/plugins/ oppure installalo tramite la bacheca (Plugin > Aggiungi nuovo > Carica plugin).
Attiva il plugin.
Naviga su Impostazioni > Reading Tools per accedere alla configurazione.
⚠️ IMPORTANTE: Il primo passo fondamentale dopo l'attivazione è configurare correttamente i Selettori Target (vedi sezione 4.2) in modo che il ridimensionamento font e gli strumenti di stampa funzionino correttamente sul tuo tema.
4. Guida all'Uso e Best Practice
La pagina delle impostazioni è organizzata in sezioni logiche.
4.1 Impostazioni di Visualizzazione (Display Settings)
Mostra Su: Scegli dove mostrare automaticamente la barra (Solo Articoli, Solo Pagine, Entrambi, o "Solo Posizionamento Manuale" per usare esclusivamente gli shortcode). La homepage è sempre esclusa automaticamente.
Posizione: Sopra (Above) o Sotto (Below) il contenuto.
Mostra su Mobile: Opzione per nascondere la barra sugli schermi piccoli tramite CSS.
Target Ridimensionamento Font: Inserisci il selettore CSS per il contenitore di testo principale del tuo tema (es. .entry-content o #main-content). Se i pulsanti +/- non funzionano, probabilmente questo selettore è errato.
Target Stampa Pulita: Inserisci il selettore per l'area specifica da stampare. Di solito è identico al target del ridimensionamento font.
Target Conteggio Parole (Opzionale): Selettore specifico per il calcolo delle parole. Se lasciato vuoto, utilizza il contenuto filtrato di default.
Selettore CSS di Esclusione (Opzionale): Elenco separato da virgole di elementi da ignorare completamente (es. .ad-banner, .related-posts, #author-box). Il contenuto al loro interno NON verrà contato, ridimensionato o stampato.
4.3 Componenti e Opzioni
Abilita/Disabilita singolarmente: Conteggio Parole, Tempo di Lettura, Contatore Visualizzazioni, Ridimensionamento Font.
Configura opzioni avanzate:
WPM: Parole al minuto per la stima del tempo (Default: 200).
Partenza Globale: Valore iniziale delle visualizzazioni per i nuovi articoli.
Ore Cookie: Periodo di validità per il cookie di tracciamento visualizzazioni (Default: 6 ore).
Icona Pulsante Contrasto: Seleziona l'icona per il pulsante contrasto, con un'anteprima in tempo reale nella sezione palette.
4.5 Palette Colori
Scegli tra 50 palette moderne. L'area di Anteprima Live mostrerà istantaneamente come apparirà la barra, incluse le icone informative, i pulsanti e l'icona di contrasto scelta.
Nota sul Custom CSS: Per conformità ai rigorosi standard di sicurezza di WordPress.org, il campo Custom CSS è stato rimosso dal plugin. Per aggiungere sovrascritture di stile specifiche, utilizza il personalizzatore nativo di WordPress sotto Aspetto > Personalizza > CSS Aggiuntivo.
5. Shortcode
Per garantire stabilità e coerenza dei dati, è supportato un unico shortcode unificato:
[lnwrt_only_tools] - Mostra solo il gruppo di pulsanti interattivi (Resizer +/-, Reset, Contrasto, Stampa), in base a quali pulsanti sono abilitati nelle impostazioni globali.
Esempio di utilizzo:[lnwrt_only_tools id="123"] (L'ID è opzionale, utile per forzare l'unicità dell'elemento HTML o il contesto dell'articolo).
Nota: Affinché i pulsanti funzionino, gli asset del plugin (JS/CSS) devono essere caricati sulla pagina. Questo di solito avviene se la barra principale è abilitata per quel tipo di contenuto, anche se viene nascosta tramite CSS.
6. Metabox Statistiche Visualizzazioni (Admin)
Nella schermata di modifica per Articoli e Pagine (nella colonna laterale), troverai il box "WRT View Stats":
Visualizzazioni Totali: Mostra il conteggio formattato attuale.
Reset (Pulsante): Azzera immediatamente le visualizzazioni via AJAX (richiede conferma). Il conteggio si aggiorna dopo aver ricaricato la pagina.
Fai partire il conteggio da: Consente di impostare un valore di partenza specifico per *questo* articolo.
Nota: Questo campo è modificabile solo se l'articolo è in stato di bozza/non pubblicato o se il conteggio attuale è esattamente 0. Una volta iniziato il tracciamento (>0), il valore di partenza non è più modificabile per mantenere l'integrità dei dati. Se vuoto, utilizza il default globale.
7. Note Tecniche per Sviluppatori
Hook e Costanti Principali
Il plugin definisce diverse costanti nel file principale (levelnetwork-wrt-reading-tools.php) per versioni, percorsi e chiavi meta/nonce.
Utilizza wp_localize_script per passare i dati al frontend nell'oggetto unificato lnwrt_frontend_params (o lnwrt_admin_params nel backend).
Filtro principale: the_content (priorità 20) per l'inserimento automatico della barra.
Filtri disponibili per gli sviluppatori:
lnwrt_metabox_post_types: Modifica i custom post type in cui appare il metabox.
lnwrt_get_color_palettes: Aggiunge o modifica le palette integrate.
lnwrt_show_on_post_type: Controllo granulare sulla visualizzazione della barra per tipo di post.
lnwrt_frontend_localize_params / lnwrt_admin_localize_params: Filtra i dati passati al JS.
Metodo Calcolo Conteggio Parole (DOM/XPath)
Il plugin tenta di caricare il contenuto filtrato in un DOMDocument, esegue una query XPath basata sul selettore configurato per estrarre il testo pulito (escludendo gli elementi che corrispondono al Selettore di Esclusione), e conta le parole. Se il selettore è troppo complesso o il caricamento del DOM fallisce, utilizza un fallback basato sulla pulizia minima dell'intero contenuto tramite la funzione nativa wp_strip_all_tags.