{"id":4415,"date":"2022-01-10T11:00:20","date_gmt":"2022-01-10T10:00:20","guid":{"rendered":"https:\/\/www.eugigufo.net\/it\/?page_id=4415"},"modified":"2024-10-01T13:58:27","modified_gmt":"2024-10-01T11:58:27","slug":"paragrafo28","status":"publish","type":"page","link":"https:\/\/eugigufo.net\/it\/inerario\/paragrafo28\/","title":{"rendered":"\u00a7 28. Breadcrumbs: lo script in PHP per il WordPress"},"content":{"rendered":"<p>Nel <a href=\"https:\/\/eugigufo.net\/it\/inerario\/paragrafo27\/\">paragrafo precedente<\/a> avevo descritto lo&nbsp;sviluppo di&nbsp;uno script universale per la&nbsp;creazione del menu breadcrumbs su&nbsp;un&nbsp;sito qualsiasi.<br \/>\nQuesta volta, invece, propongo una soluzione sviluppata appositamente per i&nbsp;siti basati sul CMS WordPress: una funzione in&nbsp;PHP del menu breadcrumbs. Naturalmente, una cosa del genere potrebbe anche essere realizzata con uno dei numerosissimi plugin, ma&nbsp;nessuno di&nbsp;questi ultimi potr&agrave; garantirvi un&nbsp;risultato personalizzabile al&nbsp;100%. Di&nbsp;conseguenza, vi&nbsp;propongo un&nbsp;codice PHP che funziona ugualmente bene sui siti di&nbsp;ogni grado di&nbsp;complessit&agrave; e&nbsp;di&nbsp;ogni tipologia. Il&nbsp;risultato del codice&nbsp;&ndash; il&nbsp;menu breadcrumbs, appunto,&nbsp;&ndash; pu&ograve; essere personalizzato nel suo aspetto grafico attraverso le&nbsp;istruzioni del file degli stili CSS. Inoltre, alcuni aspetti del menu generato possono essere modificati nel codice della funzione PHP proposta.<br \/>\nNel listing che segue pubblico subito il&nbsp;codice completo della funzione&nbsp;PHP che va&nbsp;inserita nel file functions.php del vostro tema.<br \/>\nMa&nbsp;prima di&nbsp;fare spensieratamente il&nbsp;&laquo;copia e&nbsp;incolla&raquo;, leggete queste poche considerazioni necessarie sulla personalizzazione del codice (vi&nbsp;faranno risparmiare un&nbsp;po&rsquo; di&nbsp;tempo e&nbsp;forze):<br \/>\n&ndash;&nbsp;riga&nbsp;5 del mio listing: viene impostato il&nbsp;simbolo che separa le&nbsp;voci del menu breadcrumbs l&rsquo;una dall&rsquo;altra; nel mio esempio si&nbsp;usa il&nbsp;simbolo &laquo;&gt;&raquo; (home&nbsp;&gt; pagina&nbsp;1&nbsp;&gt; pagina&nbsp;2&nbsp;etc.), mente voi, volendo, potete anche sostituirlo con quello che vi&nbsp;piace pi&ugrave;;<br \/>\n&ndash;&nbsp;riga&nbsp;6 e riga&nbsp;7 del mio listing: sono i&nbsp;nomi dell&rsquo;id e&nbsp;del class del menu che servono per la&nbsp;personalizzazione del suo aspetto grafico con il&nbsp;CSS, quindi controllate che non ci&nbsp;siano altri elementi con gli stessi nomi nel codice delle pagine del sito;<br \/>\n&ndash;&nbsp;riga&nbsp;8 del mio listing: viene impostata la&nbsp;voce del menu che sar&agrave; linkata con l&rsquo;indirizzo della prima pagina del sito, quindi al&nbsp;posto di&nbsp;Home potete anche scrivere quello che preferite (&laquo;Prima pagina&raquo;, &laquo;Sito di&nbsp;Mario Rossi&raquo; etc.);<br \/>\n&ndash;&nbsp;riga&nbsp;11 del mio listing: nella variabile vanno aggiunti i&nbsp;nomi delle vostre eventuali tassonomie personali (se&nbsp;non ne&nbsp;avete, lasciate pure questa riga cos&igrave; come&nbsp;&egrave;&nbsp;ora);<br \/>\n&ndash;&nbsp;riga&nbsp;20 del mio listing: il&nbsp;menu breadcrumbs generato con la&nbsp;funzione in&nbsp;questione viene trasformato in&nbsp;un&nbsp;elenco &lt;ul&gt; di&nbsp;link, ma&nbsp;se&nbsp;preferite avere il&nbsp;menu nel formato di&nbsp;un&nbsp;semplice testo con dei link, togliete pure questa riga (e&nbsp;non dimenticatevi di&nbsp;togliere anche la&nbsp;chiusura del tag &lt;ul&gt; alla riga&nbsp;212; ovviamente a&nbsp;questo punto vi&nbsp;tocca di&nbsp;togliere dal codice della funzione anche tutti i&nbsp;tag &lt;li&gt;);<br \/>\n&ndash;&nbsp;il&nbsp;codice che sto per proporvi genera il&nbsp;menu breadcrumbs sulla base di&nbsp;tutta la&nbsp;gerarchia delle pagine fino alla corrente (senza linkare il&nbsp;nome di&nbsp;quest&rsquo;ultima), tenendo conto anche di&nbsp;tutta la&nbsp;tassonomia del sito (quindi, per esempio, anche dei tag e&nbsp;delle categorie); i&nbsp;nomi di&nbsp;tutte le&nbsp;pagine elencate nel menu vengono automaticamente prese dal database del WordPress (tranne, come abbiamo visto, il&nbsp;nome della prima pagina del sito).<br \/>\nBene, ora potete copiare il&nbsp;codice, inserirlo nel functions.php e&nbsp;fare le&nbsp;eventuali modifiche desiderate.<\/p>\n<pre class=\"brush: php; collapse: false; title: listing 1; notranslate\" title=\"listing 1\">\n\/\/ menu breadcrumbs\nfunction custom_breadcrumbs() {\n \n    \/\/ Impostazioni\n    $separator          = '&amp;gt;'; \/\/ il separatore delle voci del menu\n    $breadcrums_id      = 'breadcrumbs'; \/\/ id del contenitore\n    $breadcrums_class   = 'breadcrumbs'; \/\/ class dei breadcrumbs\n    $home_title         = 'Home'; \/\/ il nome della prima pagina del sito nel menu breadcrumbs\n \n    \/\/ Se avete delle vostre tipologie della tassonomia, aggiungete il codice nella variabile della riga sotto (per esempio, product_cat per il Woocommerce)\n    $custom_taxonomy    = 'product_cat';\n \n    \/\/ La pagina e la interrogazione\n    global $post,$wp_query;\n \n    \/\/ Non mostrare sulla prima pagina del sito\n    if ( !is_front_page() ) {\n \n        \/\/ Inizia il menu breadcrumbs\n        echo '&lt;ul id=&quot;' . $breadcrums_id . '&quot; class=&quot;' . $breadcrums_class . '&quot;&gt;';\n \n        \/\/ La prima pagina del sito\n        echo '&lt;li class=&quot;item-home&quot;&gt;&lt;a class=&quot;bread-link bread-home&quot; href=&quot;' . get_home_url() . '&quot; title=&quot;' . $home_title . '&quot;&gt;' . $home_title . '&lt;\/a&gt;&lt;\/li&gt;';\n        echo '&lt;li class=&quot;separator separator-home&quot;&gt; ' . $separator . ' &lt;\/li&gt;';\n \n        if ( is_archive() &amp;&amp; !is_tax() &amp;&amp; !is_category() &amp;&amp; !is_tag() ) {\n            echo '&lt;li class=&quot;item-current item-archive&quot;&gt;&lt;strong class=&quot;bread-current bread-archive&quot;&gt;' . post_type_archive_title($prefix, false) . '&lt;\/strong&gt;&lt;\/li&gt;';\n \n        } else if ( is_archive() &amp;&amp; is_tax() &amp;&amp; !is_category() &amp;&amp; !is_tag() ) {\n \n             \/\/ Se la pubblicazione dovesse essere un altro tipo di contenuto (non una pagina o un articolo)\n            $post_type = get_post_type();\n \n            if($post_type != 'post') {\n                $post_type_object = get_post_type_object($post_type);\n                $post_type_archive = get_post_type_archive_link($post_type);\n \n                echo '&lt;li class=&quot;item-cat item-custom-post-type-' . $post_type . '&quot;&gt;&lt;a class=&quot;bread-cat bread-custom-post-type-' . $post_type . '&quot; href=&quot;' . $post_type_archive . '&quot; title=&quot;' . $post_type_object-&gt;labels-&gt;name . '&quot;&gt;' . $post_type_object-&gt;labels-&gt;name . '&lt;\/a&gt;&lt;\/li&gt;';\n                echo '&lt;li class=&quot;separator&quot;&gt; ' . $separator . ' &lt;\/li&gt;';\n            }\n \n            $custom_tax_name = get_queried_object()-&gt;name;\n            echo '&lt;li class=&quot;item-current item-archive&quot;&gt;&lt;strong class=&quot;bread-current bread-archive&quot;&gt;' . $custom_tax_name . '&lt;\/strong&gt;&lt;\/li&gt;';\n \n        } else if ( is_single() ) {\n \n            \/\/ Se la pubblicazione dovesse essere un altro tipo di contenuto (non una pagina o un articolo)\n            $post_type = get_post_type();\n \n            if($post_type != 'post') {\n                $post_type_object = get_post_type_object($post_type);\n                $post_type_archive = get_post_type_archive_link($post_type);\n \n                echo '&lt;li class=&quot;item-cat item-custom-post-type-' . $post_type . '&quot;&gt;&lt;a class=&quot;bread-cat bread-custom-post-type-' . $post_type . '&quot; href=&quot;' . $post_type_archive . '&quot; title=&quot;' . $post_type_object-&gt;labels-&gt;name . '&quot;&gt;' . $post_type_object-&gt;labels-&gt;name . '&lt;\/a&gt;&lt;\/li&gt;';\n                echo '&lt;li class=&quot;separator&quot;&gt; ' . $separator . ' &lt;\/li&gt;';\n            }\n \n            \/\/ Categoria\n            $category = get_the_category();\n \n            if(!empty($category)) {\n \n                \/\/ Ultima categoria della sequenza\n                $last_category = end(array_values($category));\n \n                \/\/ Categoria genitore\n                $get_cat_parents = rtrim(get_category_parents($last_category-&gt;term_id, true, ','),',');\n                $cat_parents = explode(',',$get_cat_parents);\n \n                \/\/ La ricerca delle catyegorie-genitore e la loro raccolta nella variabile $cat_display\n                $cat_display = '';\n                foreach($cat_parents as $parents) {\n                    $cat_display .= '&lt;li class=&quot;item-cat&quot;&gt;'.$parents.'&lt;\/li&gt;';\n                    $cat_display .= '&lt;li class=&quot;separator&quot;&gt; ' . $separator . ' &lt;\/li&gt;';\n                }\n            }\n \n            \/\/ Se dovesse essere una pubblicazione personalizzata nella tassonomia personalizzata\n            $taxonomy_exists = taxonomy_exists($custom_taxonomy);\n            if(empty($last_category) &amp;&amp; !empty($custom_taxonomy) &amp;&amp; $taxonomy_exists) {\n                $taxonomy_terms = get_the_terms( $post-&gt;ID, $custom_taxonomy );\n                $cat_id         = $taxonomy_terms&#x5B;0]-&gt;term_id;\n                $cat_nicename   = $taxonomy_terms&#x5B;0]-&gt;slug;\n                $cat_link       = get_term_link($taxonomy_terms&#x5B;0]-&gt;term_id, $custom_taxonomy);\n                $cat_name       = $taxonomy_terms&#x5B;0]-&gt;name;\n \n            }\n \n            \/\/ Verificare se il post appartiene alla categoria\n            if(!empty($last_category)) {\n                echo $cat_display;\n                echo '&lt;li class=&quot;item-current item-' . $post-&gt;ID . '&quot;&gt;&lt;strong class=&quot;bread-current bread-' . $post-&gt;ID . '&quot; title=&quot;' . get_the_title() . '&quot;&gt;' . get_the_title() . '&lt;\/strong&gt;&lt;\/li&gt;';\n \n            \/\/ Altrimenti, se appartiene alla tassonomia personalizzata\n            } else if(!empty($cat_id)) {\n \n                echo '&lt;li class=&quot;item-cat item-cat-' . $cat_id . ' item-cat-' . $cat_nicename . '&quot;&gt;&lt;a class=&quot;bread-cat bread-cat-' . $cat_id . ' bread-cat-' . $cat_nicename . '&quot; href=&quot;' . $cat_link . '&quot; title=&quot;' . $cat_name . '&quot;&gt;' . $cat_name . '&lt;\/a&gt;&lt;\/li&gt;';\n                echo '&lt;li class=&quot;separator&quot;&gt; ' . $separator . ' &lt;\/li&gt;';\n                echo '&lt;li class=&quot;item-current item-' . $post-&gt;ID . '&quot;&gt;&lt;strong class=&quot;bread-current bread-' . $post-&gt;ID . '&quot; title=&quot;' . get_the_title() . '&quot;&gt;' . get_the_title() . '&lt;\/strong&gt;&lt;\/li&gt;';\n \n            } else {\n \n                echo '&lt;li class=&quot;item-current item-' . $post-&gt;ID . '&quot;&gt;&lt;strong class=&quot;bread-current bread-' . $post-&gt;ID . '&quot; title=&quot;' . get_the_title() . '&quot;&gt;' . get_the_title() . '&lt;\/strong&gt;&lt;\/li&gt;';\n            }\n \n        } else if ( is_category() ) {\n \n            \/\/ Sulla pagina della categoria\n            echo '&lt;li class=&quot;item-current item-cat&quot;&gt;&lt;strong class=&quot;bread-current bread-cat&quot;&gt;' . single_cat_title('', false) . '&lt;\/strong&gt;&lt;\/li&gt;';\n \n        } else if ( is_page() ) {\n \n            \/\/ Una pagina standard\n            if( $post-&gt;post_parent ){\n \n                \/\/ Se la pagina ha una pagina genitore\n                $anc = get_post_ancestors( $post-&gt;ID );\n \n                \/\/ Ottenere le pagine-genitore in un ordine corretto\n                $anc = array_reverse($anc);\n \n                \/\/ Il ciclo delle pagine-genitore\n                if ( !isset( $parents ) ) $parents = null;\n                foreach ( $anc as $ancestor ) {\n                    $parents .= '&lt;li class=&quot;item-parent item-parent-' . $ancestor . '&quot;&gt;&lt;a class=&quot;bread-parent bread-parent-' . $ancestor . '&quot; href=&quot;' . get_permalink($ancestor) . '&quot; title=&quot;' . get_the_title($ancestor) . '&quot;&gt;' . get_the_title($ancestor) . '&lt;\/a&gt;&lt;\/li&gt;';\n                    $parents .= '&lt;li class=&quot;separator separator-' . $ancestor . '&quot;&gt; ' . $separator . ' &lt;\/li&gt;';\n                }\n \n                \/\/ Mostrare le pagine-genitore della pagina\n                echo $parents;\n \n                \/\/ La pagina corrente\n                echo '&lt;li class=&quot;item-current item-' . $post-&gt;ID . '&quot;&gt;&lt;strong title=&quot;' . get_the_title() . '&quot;&gt; ' . get_the_title() . '&lt;\/strong&gt;&lt;\/li&gt;';\n \n            } else {\n \n                \/\/ Mostrare solo la pagina corrente se non ci sono delle pagine-genitore\n                echo '&lt;li class=&quot;item-current item-' . $post-&gt;ID . '&quot;&gt;&lt;strong class=&quot;bread-current bread-' . $post-&gt;ID . '&quot;&gt; ' . get_the_title() . '&lt;\/strong&gt;&lt;\/li&gt;';\n            }\n \n        } else if ( is_tag() ) {\n \n            \/\/ La pagina del tag\n \n            \/\/ Otteniamo le informazioni\n            $term_id        = get_query_var('tag_id');\n            $taxonomy       = 'post_tag';\n            $args           = 'include=' . $term_id;\n            $terms          = get_terms( $taxonomy, $args );\n            $get_term_id    = $terms&#x5B;0]-&gt;term_id;\n            $get_term_slug  = $terms&#x5B;0]-&gt;slug;\n            $get_term_name  = $terms&#x5B;0]-&gt;name;\n \n            \/\/ Mostriamo il nome del tag\n            echo '&lt;li class=&quot;item-current item-tag-' . $get_term_id . ' item-tag-' . $get_term_slug . '&quot;&gt;&lt;strong class=&quot;bread-current bread-tag-' . $get_term_id . ' bread-tag-' . $get_term_slug . '&quot;&gt;' . $get_term_name . '&lt;\/strong&gt;&lt;\/li&gt;';\n \n        } elseif ( is_day() ) {\n \n             \/\/ ARCHIVIO DEL GIORNO\n            \/\/ Archivio dellanno\n            echo '&lt;li class=&quot;item-year item-year-' . get_the_time('Y') . '&quot;&gt;&lt;a class=&quot;bread-year bread-year-' . get_the_time('Y') . '&quot; href=&quot;' . get_year_link( get_the_time('Y') ) . '&quot; title=&quot;' . get_the_time('Y') . '&quot;&gt;' . get_the_time('Y') . ' Archives&lt;\/a&gt;&lt;\/li&gt;';\n            echo '&lt;li class=&quot;separator separator-' . get_the_time('Y') . '&quot;&gt; ' . $separator . ' &lt;\/li&gt;';\n \n            \/\/ Archivio del mese\n            echo '&lt;li class=&quot;item-month item-month-' . get_the_time('m') . '&quot;&gt;&lt;a class=&quot;bread-month bread-month-' . get_the_time('m') . '&quot; href=&quot;' . get_month_link( get_the_time('Y'), get_the_time('m') ) . '&quot; title=&quot;' . get_the_time('M') . '&quot;&gt;' . get_the_time('M') . ' Archives&lt;\/a&gt;&lt;\/li&gt;';\n            echo '&lt;li class=&quot;separator separator-' . get_the_time('m') . '&quot;&gt; ' . $separator . ' &lt;\/li&gt;';\n \n            \/\/ Archivio del giorno\n            echo '&lt;li class=&quot;item-current item-' . get_the_time('j') . '&quot;&gt;&lt;strong class=&quot;bread-current bread-' . get_the_time('j') . '&quot;&gt; ' . get_the_time('jS') . ' ' . get_the_time('M') . ' Archives&lt;\/strong&gt;&lt;\/li&gt;';\n \n        } else if ( is_month() ) {\n \n            \/\/ ARCHIVIO DEL MESE\n            \/\/ Archivio dellanno\n            echo '&lt;li class=&quot;item-year item-year-' . get_the_time('Y') . '&quot;&gt;&lt;a class=&quot;bread-year bread-year-' . get_the_time('Y') . '&quot; href=&quot;' . get_year_link( get_the_time('Y') ) . '&quot; title=&quot;' . get_the_time('Y') . '&quot;&gt;' . get_the_time('Y') . ' Archives&lt;\/a&gt;&lt;\/li&gt;';\n            echo '&lt;li class=&quot;separator separator-' . get_the_time('Y') . '&quot;&gt; ' . $separator . ' &lt;\/li&gt;';\n \n            \/\/ Archivio del mese\n            echo '&lt;li class=&quot;item-month item-month-' . get_the_time('m') . '&quot;&gt;&lt;strong class=&quot;bread-month bread-month-' . get_the_time('m') . '&quot; title=&quot;' . get_the_time('M') . '&quot;&gt;' . get_the_time('M') . ' Archives&lt;\/strong&gt;&lt;\/li&gt;';\n \n        } else if ( is_year() ) {\n \n            \/\/ ARCHIVIO ANNO\n            echo '&lt;li class=&quot;item-current item-current-' . get_the_time('Y') . '&quot;&gt;&lt;strong class=&quot;bread-current bread-current-' . get_the_time('Y') . '&quot; title=&quot;' . get_the_time('Y') . '&quot;&gt;' . get_the_time('Y') . ' Archives&lt;\/strong&gt;&lt;\/li&gt;';\n \n        } else if ( is_author() ) {\n \n            \/\/ Archivio autore\n \n            \/\/ Le informazioni sullautore\n            global $author;\n            $userdata = get_userdata( $author );\n \n            \/\/ Mostrare il nome dellautore\n            echo '&lt;li class=&quot;item-current item-current-' . $userdata-&gt;user_nicename . '&quot;&gt;&lt;strong class=&quot;bread-current bread-current-' . $userdata-&gt;user_nicename . '&quot; title=&quot;' . $userdata-&gt;display_name . '&quot;&gt;' . 'Author: ' . $userdata-&gt;display_name . '&lt;\/strong&gt;&lt;\/li&gt;';\n \n        } else if ( get_query_var('paged') ) {\n \n            \/\/ Archivio diviso per pagine\n            echo '&lt;li class=&quot;item-current item-current-' . get_query_var('paged') . '&quot;&gt;&lt;strong class=&quot;bread-current bread-current-' . get_query_var('paged') . '&quot; title=&quot;Page ' . get_query_var('paged') . '&quot;&gt;'.__('Page') . ' ' . get_query_var('paged') . '&lt;\/strong&gt;&lt;\/li&gt;';\n \n        } else if ( is_search() ) {\n \n            \/\/ I risultati della ricerca\n            echo '&lt;li class=&quot;item-current item-current-' . get_search_query() . '&quot;&gt;&lt;strong class=&quot;bread-current bread-current-' . get_search_query() . '&quot; title=&quot;Search results for: ' . get_search_query() . '&quot;&gt;Search results for: ' . get_search_query() . '&lt;\/strong&gt;&lt;\/li&gt;';\n \n        } elseif ( is_404() ) {\n \n            \/\/ Pagina 404\n            echo '&lt;li&gt;' . 'Error 404' . '&lt;\/li&gt;';\n        }\n        echo '&lt;\/ul&gt;';\n    }\n}\n<\/pre>\n<p>\nCome potete vedere dalla riga&nbsp;17 del listing appena riportato, il&nbsp;menu breadcrumbs generato dal codice verr&agrave; visualizzato su&nbsp;tutte le&nbsp;pagine tranne la&nbsp;pagina principale del sito (perch&eacute; non ha&nbsp;senso generarlo per una sola voce, la&nbsp;quale per logica non dovrebbe nemmeno essere linkata). Ma&nbsp;se&nbsp;volete proprio visualizzare quel menu anche sulla Home, inserite il&nbsp;seguente codice dopo la&nbsp;riga&nbsp;213 del listing sovrastante:<\/p>\n<pre class=\"brush: php; collapse: false; title: listing 2; notranslate\" title=\"listing 2\">\nelse {\n       echo 'Home';\n     }\n<\/pre>\n<p>\nOvviamente, anche in&nbsp;questo caso potete sostituire la&nbsp;parola &laquo;Home&raquo; con il&nbsp;testo che preferite: come, probabilmente, avete gi&agrave; fatto alla riga&nbsp;8 del mio listing.<br \/>\nOra, per visualizzare il&nbsp;menu breadcrumbs sulle pagine del sito, bisogna richiamare la&nbsp;funzione appena creata. A&nbsp;tale scopo, nel template delle pagine del tema (quindi page.php, single.php, archive.php etc.)&nbsp;&ndash; nel punto esatto dove vogliamo vedere il&nbsp;menu&nbsp;&ndash; va&nbsp;inserito il&nbsp;seguente codice:<\/p>\n<pre class=\"brush: php; collapse: false; title: listing 3; notranslate\" title=\"listing 3\">\n&lt;?php custom_breadcrumbs(); ?&gt;\n<\/pre>\n<p>\nBenissimo, ora il&nbsp;menu breadcrumbs esiste, si&nbsp;vede e&nbsp;funziona. Ci&nbsp;resta solo perfezionare il&nbsp;suo aspetto grafico inserendo delle istruzioni nel file degli stili CSS. Quelle istruzioni vanno fatte tenendo conto del vostro design e&nbsp;delle vostre preferenze estetiche, quindi non trovo utile proporvi una mia soluzione particolarmente elaborata. Mi&nbsp;limito a&nbsp;elencare i&nbsp;nomi degli id&nbsp;e&nbsp;dei class utilizzati nel mio codice con delle istruzioni minime (tanto per farvi vedere su&nbsp;cosa bisogna intervenire):<\/p>\n<pre class=\"brush: css; collapse: false; title: listing 4; notranslate\" title=\"listing 4\">\n#breadcrumbs{\n    list-style: none;\n    margin: 10px 0;\n    overflow: hidden;\n}\n \n#breadcrumbs li{\n    display: inline-block;\n    vertical-align: middle;\n    margin-right: 15px;\n}\n \n#breadcrumbs .separator{\n    font-size: 18px;\n    font-weight: 100;\n    color: #CCCCCC;\n}\n<\/pre>\n<p>\nA&nbsp;questo punto possiamo considerare fatto il&nbsp;nostro menu breadcrumbs per il&nbsp;WordPress.<br \/>\nNon dimenticatevi di&nbsp;caricare sul server tutti i&nbsp;file modificati, ahahaha<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il paragrafo dell\u2019\u201cInerario\u201d dedicato al modo di realizzare \u2013 con una funzione in PHP \u2013 un menu breadcrumbs totalmente automatizzato e personalizzabile per i siti costruiti con il WordPress.<br \/>\nQuesto paragrafo \u00e8 destinato prevalentemente agli sviluppatori backend e frontend, ma anche alle persone che si occupano personalmente dei propri siti.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":452,"menu_order":28,"comment_status":"open","ping_status":"closed","template":"inerarioart.php","meta":{"footnotes":""},"class_list":["post-4415","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/pages\/4415","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/comments?post=4415"}],"version-history":[{"count":0,"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/pages\/4415\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/pages\/452"}],"wp:attachment":[{"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/media?parent=4415"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}