Cum pot crea un șablon de pagină pentru a afișa un tip personalizat de postare?
Vreau să creez un fișier șablon de pagină pentru a afișa postări dintr-un tip de conținut personalizat. Am lucrat cu acest cod pe care l-am găsit pe acest site, dar nu afișează nimic. Știe cineva care este problema?
<?php /* Nume Șablon: Arhivă Tip Postare Personalizată */
get_header(); ?>
<?php
global $query_string;
query_posts($query_string . "post_type=TIPUL-TAU-DE-POSTARE&post_status=publish&posts_per_page=10");
if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<h2><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
<?php the_excerpt(); ?>
<?php endwhile;
endif; ?>
<div class="navigation">
<div class="alignleft"><?php next_posts_link('Postări anterioare') ?></div>
<div class="alignright"><?php previous_posts_link('Postări următoare') ?></div>
</div>
<?php wp_reset_query(); ?>
<?php get_sidebar(); ?>
<?php get_footer();?>

Nu este nevoie să folosești o interogare, pur și simplu creează-ți șablonul și numește-l single-NUMELEPOSTULUITAU.php, pentru mai multe referințe consultă:

Nu sunt sigur că te-am înțeles. Poți să explici puțin mai detaliat răspunsul tău?

șablonul implicit pentru un tip de postare personalizat este single-NAME.php, deci să presupunem că tipul tău de postare personalizat se numește "Sports", deci trebuie să creezi acel șablon și să îl salvezi ca single-sports.php. Ai deja tema creată, trebuie doar să ștergi acea interogare de la linia 5 și să lași bucla (loop) așa cum este. De asemenea, observă că link-urile next și prev nu vor funcționa deoarece acele funcții nu lucrează cu CPT (Custom Post Types), dar există unele plugin-uri pentru asta, Google este prietenul tău.

Dacă ați creat un nou Tip de Postare Personalizată (Custom Post Type), pentru a le afișa pe site trebuie să utilizați următoarele fișiere în folderul temei:
- archive-{CPT}.php
- single-{CPT}.php (Opțional dacă doriți să afișați un singur post diferit)
Înlocuiți {CPT} cu numele Tipului de Postare Personalizată pe care l-ați configurat. Apoi, în aceste fișiere, faceți un loop normal ca în fișierul index.php.
Exemplu:
<?php get_header(); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php /* Conținutul Postărilor */ ?>
<?php endwhile; else: ?>
<div class="post">
<p><?php _e('Ne pare rău, nicio postare nu corespunde criteriilor dumneavoastră.', "hi-rezz"); ?></p>
</div>
<?php endif; ?>
<?php get_footer(); ?>

Mulțumesc pentru explicația detaliată. Te rog să ai răbdare cu mine, deoarece sunt relativ nou în acest tip de modificări în WordPress. CPT-ul meu este "New Movies". Slug-ul pentru acesta este "new_movies". Fișierul de arhivă este "archive-new_movies.php". Apoi pun codul loop în fișierul de arhivă?

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php /* Conținutul articolelor tale */ ?>
<?php endwhile; else: ?>
<div class="post">
<p><?php _e('Ne pare rău, nu s-au găsit articole care să corespundă criteriilor tale.', "hi-rezz"); ?></p>
</div>
<?php endif; ?>
