Șablon de taxonomie personalizată nu funcționează
Am creat un tip de postare personalizat numit property
, și o taxonomie numită city
atașată la acest tip de postare. Există mai multe orașe (termeni) precum toronto
, taiwan
,dhaka
.
Doresc să creez un șablon care să afișeze toate postările dintr-un oraș. Am creat fișierul taxonomy-city.php
, dar nu funcționează.
Iată codul meu pentru fișierul taxonomy-city.php
.
<?php
/*
* Nume șablon: Oraș
*/
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('Eroare 404: Negăsit', 'cmeasytheme'); ?></h3>
</div>
<?php endif; ?>
</div>
<div style="clear:both;"></div>
</div>
</div>
<?php get_footer(); ?>
Afișează totul, dar nu printează nimic în interiorul buclei.
Am vizitat și aceste linkuri, dar niciunul nu a fost de ajutor

În primul rând, un fișier taxonomy-{taxonomy}.php
este un Șablon de Arhivă și nu un nume potrivit pentru un șablon personalizat. Deci, dacă doriți să continuați cu un șablon personalizat, încercați să denumiți fișierul cu ceva de genul template-orase.php
și să apelați fișierul într-o Pagină.
Alternativ, creați un simplu șablon de arhivă taxonomy-{taxonomy}.php
, iar în cazul dumneavoastră taxonomy-city.php
cu cod precum:
<?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 // cod pentru paginare aici ?>
</div>
<?php else : ?>
<div class="post">
<h3><?php _e('Nu s-a găsit niciun oraș', 'cmeasytheme'); ?></h3>
</div>
<?php endif; ?>
</div> <!-- .page_content_wrapper -->
<div style="clear:both;"></div>
</div> <!-- .page-wrapper -->
</div> <!-- .page_content -->
<?php get_footer(); ?>
Și în acest fel, NU ESTE NEVOIE să creați nicio pagină și să apelați un șablon de pagină.
Sugestii
Deși sugestiile nu sunt legate de WordPress, ci de Bune practici:
- Încercați să denumiți clasele separate prin cratimă (-), NU prin liniuță de subliniere (_). Deci o clasă precum
page_content_wrapper
ar trebui să fiepage-content-wrapper
. - Evitați stilurile inline și folosiți o clasă în schimb. Deci div-ul de clearing
<div style="clear:both;"></div>
poate fi ceva de genul<div class="clearfix"></div>
și puteți plasa.clearfix{clear:both}
în fișierul CSS extern. - Folosiți comentarii importante pentru a putea urmări închiderea div-urilor etc.

Mulțumesc pentru răspuns. M-a ajutat foarte mult. Dar problema era ceva diferit, am făcut o greșeală când am creat tipul de postare "property". Am setat 'exclude_from_search' => true, iar după ce l-am schimbat în false, acum șablonul afișează datele.

Am găsit un tutorial legat de taxonomii personalizate care se bazează pe ierarhice și Non-ierarhice. Sper că te va ajuta să-ți rezolvi problema https://www.wpblog.com/create-custom-taxonomies-in-wordpress/
