{"id":371965,"date":"2023-05-15T13:03:00","date_gmt":"2023-05-15T10:03:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=371965"},"modified":"2023-05-15T13:03:04","modified_gmt":"2023-05-15T10:03:04","slug":"come-visualizzare-il-tempo-di-lettura-stimato-sui-post-del-blog","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/it\/come-visualizzare-il-tempo-di-lettura-stimato-sui-post-del-blog\/","title":{"rendered":"Come visualizzare il tempo di lettura stimato sui post del blog"},"content":{"rendered":"\n<p>Se gestisci un <a href=\"https:\/\/themewp.inform.click\/it\/come-creare-un-fantastico-post-sul-blog-di-wordpress\/\" title=\"blog WordPress\">blog WordPress<\/a>, probabilmente stai cercando di trovare diversi plugin e snippet per tenere occupati i tuoi visitatori e incoraggiarli a leggere i tuoi post senza fare clic.<\/p>\n<p>Al giorno d&#8217;oggi, i visitatori spesso vogliono ottenere quante pi\u00f9 informazioni possibili semplicemente scorrendo una pagina. La visualizzazione del tempo di lettura stimato per un post \u00e8 molto utile per questo. In questo modo, un visitatore sapr\u00e0 quanto tempo ha bisogno per ottenere informazioni leggendo un argomento di interesse. A sua volta, questo incoragger\u00e0 anche gli autori di blog a scrivere post che saranno pi\u00f9 interessanti e richiederanno meno tempo. Inoltre, come proprietario di un blog, sarai in grado di determinare l&#8217;approccio migliore se controlli le metriche e confronti il \u200b\u200btempo che i visitatori trascorrono su post diversi.<\/p>\n<p>Alcuni plugin coprono sicuramente questa funzionalit\u00e0, ma la funzione di WordPress che gestisce questa \u00e8 molto semplice da usare. Pertanto, non \u00e8 necessario intasare il tuo blog con un altro plug-in solo per questo scopo.<\/p>\n<p>Per comprendere facilmente questo metodo, lo spiegheremo integrando le modifiche nel tema gratuito WordPress Twenty Sixteen.<\/p>\n<h2>Iniziamo con la funzione<\/h2>\n<pre><code>if( !function_exists('content_estimated_reading_time')) {\n\/**\nFunction that estimates reading time for a given $content.\n@param string $content Content to calculate read time for.\n@paramint $wpm Estimated words per minute of reader.\n@returns int $time Esimated reading time.\n*\/\nfunction content_estimated_reading_time( $content = '', $wpm = 200) {\n$clean_content= strip_shortcodes( $content );\n$clean_content= strip_tags( $clean_content);\n$word_count= str_word_count( $clean_content);\n$time = ceil( $word_count\/ $wpm );\n$output = '&lt;span class=\"read-time-holder\"&gt;';\n$output .= '&lt;span class=\"read-time\"&gt;'. $time .'&lt;\/span&gt;' .' ';\n$output .= '&lt;span class=\"read-text\"&gt;'. esc_attr__('min read', 'twentysixteen' ). '&lt;\/span&gt;';\n$output .='&lt;\/span&gt;';\nreturn $output;\n}\n}<\/code><\/pre>\n<p>La funzione accetta due parametri: <strong>contenuto<\/strong> ($contenuto) e <strong>parole stimate per minuto di lettore<\/strong> ($wpm). Il secondo parametro \u00e8 impostato su 200 per un lettore medio, ma \u00e8 possibile impostarlo su un altro valore. Puoi raccogliere alcune <a href=\"http:\/\/www.readingsoft.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">informazioni utili<\/a> su questo su Internet.<\/p>\n<p>All&#8217;interno della funzione, dobbiamo rimuovere il contenuto da tutto il resto tranne le parole stesse. Quindi, per prima cosa, utilizzeremo due funzioni per rimuovere shortcode e tag (<strong><a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/strip_shortcodes\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">strip_shortcodes<\/a><\/strong> e <strong><a href=\"https:\/\/php.net\/manual\/en\/function.strip-tags.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">strip_tags<\/a><\/strong> ).<\/p>\n<p>Successivamente, dobbiamo contare le parole nel contenuto pulito. Pertanto, memorizzeremo il contenuto in una variabile $word_count. La funzione per contare le parole usata qui \u00e8 <a href=\"https:\/\/php.net\/manual\/en\/function.str-word-count.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">str_word_count<\/a>.<\/p>\n<p>Per calcolare il tempo medio di lettura, dobbiamo solo dividere il conteggio delle parole per le parole lette al minuto, mentre la funzione <strong><a href=\"https:\/\/php.net\/manual\/en\/function.ceil.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">ceil<\/a><\/strong> utilizzata qui serve per arrotondare il risultato.<\/p>\n<p>La seconda parte della funzione serve solo per l&#8217;output dell&#8217;html con l&#8217;ora e il testo che seguono.<\/p>\n<p>Per integrare la funzione nel tuo tema, aggiungila alla fine del file functions.php per il tema che stai attualmente utilizzando.<\/p>\n<p>Come puoi vedere, l&#8217;intera logica alla base del tempo medio di lettura \u00e8 molto semplice. Tuttavia, la funzione non far\u00e0 nulla da sola. Ecco perch\u00e9 per visualizzarlo nell&#8217;elenco del tuo blog o nei singoli post, dobbiamo prima chiamarlo.<\/p>\n<h2>Chiamare la funzione<\/h2>\n<p>Ci sono diversi modi in cui puoi mettere in funzione la funzione. Ne tratteremo tre di seguito.<\/p>\n<p>Comunemente, il modo pi\u00f9 semplice per la stragrande maggioranza degli utenti \u00e8 chiamare la funzione direttamente dall&#8217;interno del file dove ne hanno bisogno. Diciamo che, ad esempio, devi chiamare la funzione all&#8217;interno del file single.php, che \u00e8 un modello per visualizzare i singoli post. Ci\u00f2 significa semplicemente che \u00e8 necessario aprire questo file e quindi eseguire l&#8217;eco della funzione l\u00ec con il contenuto del post come parametro, in questo modo:<\/p>\n<pre><code>&lt;?php echo content_estimated_reading_time( get_the_content() ); ?&gt;<\/code><\/pre>\n<p>Questo \u00e8 ovviamente se hai un loop e tutta la struttura all&#8217;interno del file single.php, ma molto probabilmente non lo farai. Un esempio della struttura pu\u00f2 assomigliare a questo:<\/p>\n<h3>2 Usa il filtro<\/h3>\n<p>I temi moderni e meglio codificati separano questi moduli in file diversi. Pertanto, un metodo migliore consiste nell&#8217;utilizzare il filtro e restituire il contenuto con l&#8217;aggiunta della funzione di filtro. L&#8217;argomento su <a href=\"https:\/\/developer.wordpress.org\/plugins\/hooks\/filters\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">come aggiungere un filtro<\/a> \u00e8 gi\u00e0 stato ampiamente trattato su Internet.<\/p>\n<h3>3 Modificare la funzione esistente per un maggiore controllo<\/h3>\n<p>Questo \u00e8 probabilmente l&#8217;approccio migliore perch\u00e9 puoi avere un maggiore controllo per posizionare l&#8217;output. Nel tema Twenty Sixteen, c&#8217;\u00e8 una funzione responsabile della stampa di categorie e tag per ogni post dell&#8217;elenco e singoli post. \u00c8 una funzione di ventisei_entry_taxonomies. Tutto ci\u00f2 che ti resta da fare \u00e8 semplicemente copiarlo e incollarlo all&#8217;interno di functions.php e modificarne l&#8217;ultima parte con la nostra funzione per la chiamata del tempo di lettura stimato.<\/p>\n<p>Vorremmo menzionare brevemente che poich\u00e9 abbiamo mantenuto lo stesso nome per la funzione, sovrascriver\u00e0 quella originale. Ora, la funzione con la nostra modifica verr\u00e0 eseguita in tutti i punti all&#8217;interno del tema.<\/p>\n<p>Le funzioni modificate dovrebbero assomigliare a questa:<\/p>\n<pre><code>\/**\n* Function override of default function in parent theme\n* Adding reading time function at the end\n*\/\nfunction twentysixteen_entry_taxonomies() {\n$categories_list= get_the_category_list( _x( ', ', 'Used between list items, there is a space after the comma.', 'twentysixteen') );\nif ($categories_list&amp;&amp;twentysixteen_categorized_blog()) {\nprintf( '&lt;span class=\"cat-links\"&gt;&lt;span class=\"screen-reader-text\"&gt;%1$s &lt;\/span&gt;%2$s&lt;\/span&gt;',\n_x( 'Categories', 'Used before category names.', 'twentysixteen' ),\n$categories_list\n);\n}\n$tags_list= get_the_tag_list( '', _x( ', ', 'Used between list items, there is a space after the comma.', 'twentysixteen') );\nif ($tags_list&amp;&amp;! is_wp_error( $tags_list)) {\nprintf( '&lt;span class=\"tags-links\"&gt;&lt;span class=\"screen-reader-text\"&gt;%1$s &lt;\/span&gt;%2$s&lt;\/span&gt;',\n_x( 'Tags', 'Used before tag names.', 'twentysixteen' ),\n$tags_list\n);\n}\n\/*our code modification to this function*\/\nprint content_estimated_reading_time(get_the_content());\n}<\/code><\/pre>\n<p>In questo modo, produrremo il tempo di lettura nella parte con tag e categorie a cui appartiene.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2022\/10\/post-279910-633e28b2a99df.jpg\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2022\/10\/post-279910-633e28b2a99df.jpg\" alt=\"Come visualizzare il tempo di lettura stimato sui post del blog\"><\/a><\/p>\n<p>Il codice all&#8217;interno del file functions.php del tema Twenty Sixteen dovrebbe assomigliare a questo:<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2022\/10\/post-279910-633e28b548cb0.jpg\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2022\/10\/post-279910-633e28b548cb0.jpg\" alt=\"Come visualizzare il tempo di lettura stimato sui post del blog\"><\/a><\/p>\n<pre><code>if (!function_exists('content_estimated_reading_time')) {\n\/**\nFunction that estimates reading time for a given $content.\n@param string $content Content to calculate read time for.\n@param int $wpm Estimated words per minute of reader.\n@returns int $time Esimated reading time.\n*\/\nfunction content_estimated_reading_time( $content = '', $wpm = 200) {\n$clean_content = strip_shortcodes( $content );\n$clean_content = strip_tags( $clean_content );\n$word_count = str_word_count( $clean_content );\n$time = ceil( $word_count \/ $wpm );\n$output = '&lt;span class=\"read-time-holder\"&gt;';\n$output .= '&lt;span class=\"read-time\"&gt;'. $time. '&lt;\/span&gt;'. ' ';\n$output .= '&lt;span class=\"read-text\"&gt;'. esc_attr__( 'min read', 'twentysixteen' ). '&lt;\/span&gt;';\n$output .= '&lt;\/span&gt;';\nreturn $output;\n}\n}\n\/**\n* Function override of default function in parent theme\n* Adding reading time function at the end\n*\/\nfunction twentysixteen_entry_taxonomies() {\n$categories_list = get_the_category_list( _x( ', ', 'Used between list items, there is a space after the comma.', 'twentysixteen') );\nif ($categories_list &amp;&amp; twentysixteen_categorized_blog()) {\nprintf( '&lt;span class=\"cat-links\"&gt;&lt;span class=\"screen-reader-text\"&gt;%1$s &lt;\/span&gt;%2$s&lt;\/span&gt;',\n_x( 'Categories', 'Used before category names.', 'twentysixteen' ),\n$categories_list\n);\n}\n$tags_list = get_the_tag_list( '', _x( ', ', 'Used between list items, there is a space after the comma.', 'twentysixteen') );\nif ($tags_list &amp;&amp;! is_wp_error( $tags_list)) {\nprintf( '&lt;span class=\"tags-links\"&gt;&lt;span class=\"screen-reader-text\"&gt;%1$s &lt;\/span&gt;%2$s&lt;\/span&gt;',\n_x( 'Tags', 'Used before tag names.', 'twentysixteen' ),\n$tags_list\n);\n}\n\/*our code modification to this function*\/\nprint content_estimated_reading_time(get_the_content());\n}<\/code><\/pre>\n<p>Preferibilmente, questa modifica dovrebbe essere eseguita nel tema figlio.<\/p>\n<p>Quando si aggiunge la funzione del tempo di lettura stimato in temi diversi, tenere presente che i modi migliori per integrare la chiamata di funzione possono variare. Prova a prenderti del tempo sfogliando i passaggi che abbiamo trattato per trovare l&#8217;approccio migliore.<\/p>\n<p>Ci auguriamo che questo articolo ti sia stato utile. Se ti \u00e8 piaciuto, non esitare a dare un&#8217;occhiata anche ad alcuni di questi articoli!<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/wpklik.com\" class=\"external external_icon\">wpklik.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Visualizzare il tempo di lettura stimato per un post \u00e8 molto utile per ottenere quante pi\u00f9 informazioni possibili semplicemente scorrendo una pagina.<\/p>\n","protected":false},"author":1,"featured_media":363314,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[571],"tags":[846],"class_list":["post-371965","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-nozioni-di-base-su-wordpress","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/371965","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/comments?post=371965"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/371965\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media\/363314"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media?parent=371965"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/categories?post=371965"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/tags?post=371965"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}