Como eu crio um modelo de página para exibir um tipo de postagem personalizado?

2

Eu quero criar um arquivo de modelo de página para exibir postagens de um tipo de conteúdo personalizado. Eu estava trabalhando com esse código que eu encontrei de este site , mas não renderiza nada. Alguém sabe qual é o 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();?>
    
por Keith Groben 03.02.2012 / 08:35

3 respostas

6

Você não precisa usar uma consulta, basta criar seu tample e nomear single-YOURCUSTOMPOSTNAME.php, para mais referências, dê uma olhada em:

por andresmijares25 03.02.2012 / 09:05
4

Se você criou um novo tipo de postagem personalizada, para exibi-los no site, é necessário usar os seguintes arquivos na pasta do tema:

  • archive- {CPT} .php
  • single- {CPT} .php (Opcional se você quiser exibir uma única postagem de maneira diferente)

Substitua {CPT} pelo nome do tipo de postagem personalizada que você configurou. Então, nesses arquivos, basta fazer um loop normal, como no seu arquivo 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(); ?>
    
por 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; ?>
    
por test 31.05.2017 / 14:07