Template per tassonomia personalizzata non funzionante
Ho creato un custom post type chiamato property
, con una tassonomia associata chiamata city
. Ci sono diverse città (termini) come toronto
, taiwan
, dhaka
.
Voglio creare un template che mostri tutti i post sotto una città. Ho creato il file taxonomy-city.php
, ma non funziona.
Ecco il codice del mio file taxonomy-city.php
:
<?php
/*
* Nome template: Città
*/
get_header();
?>
<div id="page_content">
<div class="page-wrapper">
<?php if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?>
<div id="page_content_wrapper">
<div id="careers_table">
<p class="content_text">asdsd</p>
</div>
<?php endwhile; ?>
<?php else : ?>
<div class="post">
<h3><?php _e('Errore 404: Non trovato', 'cmeasytheme'); ?></h3>
</div>
<?php endif; ?>
</div>
<div style="clear:both;"></div>
</div>
</div>
<?php get_footer(); ?>
Mostra tutto, ma non stampa nulla all'interno del loop.
Ho visitato anche questi link, ma nessuno è stato d'aiuto:

Innanzitutto, un file taxonomy-{taxonomy}.php
è un Template di Archivio e non un nome adatto per un template personalizzato. Quindi se vuoi procedere con un template personalizzato, prova a nominare il file con qualcosa come template-cities.php
e chiama il file su una Pagina.
In alternativa, crea un semplice template di archivio taxonomy-{taxonomy}.php
, e nel tuo caso taxonomy-city.php
con codice come:
<?php get_header(); ?>
<div id="page_content">
<div class="page-wrapper">
<div id="page_content_wrapper">
<?php if (have_posts()) : ?>
<div id="careers_table">
<?php while (have_posts()) : the_post(); ?>
<p class="content_text"><?php the_title(); ?></p>
<?php endwhile; ?>
<?php // codice di paginazione qui ?>
</div>
<?php else : ?>
<div class="post">
<h3><?php _e('Nessuna Città Trovata', 'cmeasytheme'); ?></h3>
</div>
<?php endif; ?>
</div> <!-- .page_content_wrapper -->
<div style="clear:both;"></div>
</div> <!-- .page-wrapper -->
</div> <!-- .page_content -->
<?php get_footer(); ?>
In questo modo, NON C'È BISOGNO di creare alcuna pagina e chiamare un page template.
Suggerimenti
Anche se i suggerimenti non sono correlati a WordPress, ma riguardano le Buone Pratiche:
- Prova a nominare le tue classi separate da trattino (-), NON da underscore (_). Quindi una classe come
page_content_wrapper
sarebbepage-content-wrapper
. - Evita gli stili inline e crea invece una classe. Quindi il div di clear
<div style="clear:both;"></div>
può essere qualcosa come<div class="clearfix"></div>
e puoi inserire.clearfix{clear:both}
nel tuo file CSS esterno. - Usa commenti importanti in modo da poter tracciare i div di chiusura, ecc.

Grazie per la tua risposta. Mi è stata molto utile. Ma il problema era diverso, ho commesso un errore quando ho creato il tipo di post "property". Ho impostato 'exclude_from_search' => true, dopo averlo cambiato in false, ora il template mostra i dati

ho trovato un tutorial relativo alle tassonomie personalizzate basate su gerarchiche e non gerarchiche. Spero che ti aiuti a risolvere il tuo problema https://www.wpblog.com/create-custom-taxonomies-in-wordpress/
