0
0,00 0 prodotti

Nessun prodotto nel carrello.

Mappa del sito in HTML per WordPress

Esistono diversi plugin di wordpress per le sitemap in HTML, tuttavia nessuno di loro permette di includere la sitemap nella pagina di errore 404 Inoltre, tutti i plugin testati hanno difficoltà a mostrare la sitemap con un elevato numero di post e ad includere i tipi di pagine e di post personalizzati. Per risolvere a […]

Esistono diversi plugin di wordpress per le sitemap in HTML, tuttavia nessuno di loro permette di includere la sitemap nella pagina di errore 404

Inoltre, tutti i plugin testati hanno difficoltà a mostrare la sitemap con un elevato numero di post e ad includere i tipi di pagine e di post personalizzati.

Per risolvere a manina, creiamo un file che chiameremo sitemap.php ed incolliamoci il seguente codice:

<h2 id="authors">Autori</h2>
<ul>
<?php
wp_list_authors(
  array(
    'exclude_admin' => false,
  )
);
?>
</ul>

<h2 id="pages">Pagine</h2>
<ul>
<?php
// Add pages you'd like to exclude in the exclude here
wp_list_pages(
  array(
    'exclude' => '',
    'title_li' => '',
  )
);
?>
</ul>

<h2 id="posts">Articoli</h2>
<ul>
<?php
// Add categories you'd like to exclude in the exclude here
$cats = get_categories('exclude=');
foreach ($cats as $cat) {
  echo "<li><h3>".$cat->cat_name."</h3>";
  echo "<ul>";
  query_posts('posts_per_page=-1&cat='.$cat->cat_ID);
  while(have_posts()) {
    the_post();
    $category = get_the_category();
    // Only display a post link once, even if it's in multiple categories
    if ($category[0]->cat_ID == $cat->cat_ID) {
      echo '<li><a href="'.get_permalink().'" title="'.get_the_title().'">'.get_the_title().'</a></li>';
    }
  }
  echo "</ul>";
  echo "</li>";
}
?>
</ul>

Salviamo poi il file in una sottocartella del tema (ad esempio /partial/sitemap.php), questo ci permetterà di richiamare la sitemap in un qualsiasi template di pagina.

Ora possiamo richiamare la nostra sitemap usando una sola riga di codice:

<?php get_template_part('/partials/sitemap'); ?>

e così faremo nel template della pagina 404 del nostro tema wordpress.

Creiamo il template per la mappa del sito

Per creare un nuovo template di pagina, duplichiamo il file page.php contenuto all'interno della cartella del tema e rinominiamo la copia come page-sitemap.php e apriamola per l'editing.

Cambiamo le prime righe con il commento che ci permetterà di riconoscere il nostro template:

/*
Template Name: Sitemap Page
*/

Subito dopo la chiamata a the_content() richiamiamo la nostra funzione get_template_part()

Così facendo, qualsiasi pagina che userà il template Sitemap Page riporterà dopo il contenuto la nostra mappa del sito.

Lascia un commento

18 Agosto 2013

Alcuni link presenti in questo sito sono affiliati Amazon: guadagniamo una commissione se effettui un acquisto, senza costi aggiuntivi per te.
My Agile Privacy
Privacy and Consent by My Agile Privacy

Questo sito utilizza cookie tecnici e di profilazione. 

Puoi accettare, rifiutare o personalizzare i cookie premendo i pulsanti desiderati. 

Chiudendo questa informativa continuerai senza accettare. 

crossmenu