¿Cómo creo una plantilla de página para mostrar un tipo de publicación personalizada?

2

Deseo crear un archivo de plantilla de página para mostrar publicaciones de un tipo de contenido personalizado. Estaba trabajando con este código que encontré en este sitio , pero no rinde nada. ¿Alguien sabe cuál es el problema?

<?php /* Template Name: Custom Post Type Archive */
get_header(); ?>

<?php
global $query_string;
query_posts($query_string . "post_type=YOUR-CUSTOM-POST-TYPE&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('Previous entries') ?></div>
    <div class="alignright"><?php previous_posts_link('Next entries') ?></div>
</div>
<?php wp_reset_query(); ?>

<?php get_sidebar(); ?>
<?php get_footer();?>
    
pregunta Keith Groben 03.02.2012 - 08:35

3 respuestas

6

No necesita utilizar una consulta, solo cree su ejemplo y nombre single-YOURCUSTOMPOSTNAME.php, para obtener más referencias, consulte:

respondido por el andresmijares25 03.02.2012 - 09:05
4

Si ha creado un nuevo Tipo de publicación personalizada y luego para mostrarlos en el sitio, debe usar los siguientes archivos en su carpeta de temas:

  • archivo- {CPT} .php
  • single- {CPT} .php (Opcional si quieres mostrar una publicación única de manera diferente)

Reemplace {CPT} con el nombre del Tipo de mensaje personalizado que ha configurado. Luego, en esos archivos simplemente haga un bucle normal como en su archivo index.php.

E.G.

<?php get_header(); ?>

    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

        <?php /* Your Posts Content */ ?>

    <?php endwhile; else: ?>
        <div class="post">
            <p><?php _e('Sorry, no posts matched your criteria.', "hi-rezz"); ?></p>
        </div>
    <?php endif; ?>

<?php get_footer(); ?>
    
respondido por el Brady 03.02.2012 - 09:40
-1
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

    <?php /* Your Posts Content */ ?>

<?php endwhile; else: ?>
    <div class="post">
        <p><?php _e('Sorry, no posts matched your criteria.', "hi-rezz"); ?></p>
    </div>
<?php endif; ?>
    
respondido por el test 31.05.2017 - 14:07

Lea otras preguntas en las etiquetas