¿Cómo crear una plantilla de página para mostrar un tipo de entrada personalizada?
Quiero crear un archivo de plantilla de página para mostrar entradas de un tipo de contenido personalizado. Estaba trabajando con este código que encontré en este sitio, pero no muestra nada. ¿Alguien sabe cuál es el problema?
<?php /* Nombre de la Plantilla: Archivo de Tipo de Entrada Personalizada */
get_header(); ?>
<?php
global $query_string;
query_posts($query_string . "post_type=TU-TIPO-DE-ENTRADA-PERSONALIZADA&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('Entradas anteriores') ?></div>
<div class="alignright"><?php previous_posts_link('Entradas siguientes') ?></div>
</div>
<?php wp_reset_query(); ?>
<?php get_sidebar(); ?>
<?php get_footer();?>

No necesitas usar una consulta, simplemente crea tu plantilla y nómbrala single-TUNOMBREDEPOSTPERSONALIZADO.php, para más referencias echa un vistazo a:

No estoy seguro de estar siguiendo bien. ¿Podrías explicar tu respuesta un poco más?

la plantilla de página por defecto para un custom post type es single-NAME.php, así que digamos que tu custom post type se llama "Sports", entonces necesitas crear ese tema y guardarlo como single-sports.php, ya tienes tu tema creado, solo tienes que borrar esa consulta en la línea 5, y dejar el loop como está. También ten en cuenta que los enlaces de siguiente y anterior no van a funcionar ya que esas funciones no trabajan con CPT, sin embargo hay algunos plugins para eso por ahí, Google es tu amigo.

Si has creado un nuevo Tipo de Entrada Personalizado (Custom Post Type), para mostrarlos en el sitio necesitas usar los siguientes archivos en la carpeta de tu tema:
- archive-{CPT}.php
- single-{CPT}.php (Opcional si quieres mostrar una entrada individual de manera diferente)
Reemplaza {CPT} con el nombre del Tipo de Entrada Personalizado que has configurado. Luego, en esos archivos simplemente haz un loop normal como en tu archivo index.php.
Por ejemplo:
<?php get_header(); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php /* Tu Contenido de Entradas */ ?>
<?php endwhile; else: ?>
<div class="post">
<p><?php _e('Lo sentimos, no hay entradas que coincidan con tus criterios.', "hi-rezz"); ?></p>
</div>
<?php endif; ?>
<?php get_footer(); ?>

Gracias por la explicación detallada. Por favor, ten paciencia conmigo ya que soy relativamente nuevo en este tipo de modificaciones en WordPress. Mi CPT es "New Movies". El slug para esto es "new_movies". El archivo de archivo es "archive-new_movies.php". ¿Entonces coloco el código del loop en el archivo de archivo?

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php /* Tu contenido de publicaciones */ ?>
<?php endwhile; else: ?>
<div class="post">
<p><?php _e('Lo sentimos, no hay publicaciones que coincidan con tus criterios.', "hi-rezz"); ?></p>
</div>
<?php endif; ?>
