web-dev-qa-db-fra.com

Comment créer un modèle de page pour afficher un type de publication personnalisé?

Je souhaite créer un fichier de modèle de page pour afficher les publications à partir d'un type de contenu personnalisé. Je travaillais avec ce code que j'ai trouvé dans ce site , mais cela ne rend rien. Quelqu'un sait-il quel est le problème?

<?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();?>
2
Keith Groben

Vous n'avez pas besoin d'utiliser une requête, il vous suffit de créer votre modèle et votre nom single-YOURCUSTOMPOSTNAME.php.Pour plus de références, consultez:

6
andresmijares25

Si vous avez créé un nouveau type de publication personnalisé, pour les afficher sur le site, vous devez utiliser les fichiers suivants dans votre dossier de thèmes:

  • archive- {CPT} .php
  • single- {CPT} .php (facultatif si vous souhaitez afficher un seul message différemment)

Remplacez {CPT} par le nom du type de message personnalisé que vous avez configuré. Ensuite, dans ces fichiers, faites une boucle normale, comme dans votre fichier index.php.

PAR EXEMPLE.

<?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(); ?>
4
Brady