如何创建页面模板以显示自定义帖子类型?

时间:2012-02-03 作者:Keith Groben

我想创建一个页面模板文件来显示来自自定义内容类型的帖子。我正在使用从中找到的代码this site, 但它什么也没有呈现。有人知道问题出在哪里吗?

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

3 个回复
最合适的回答,由SO网友:andresmijares 整理而成

您不需要使用查询,只需创建tample和name single YOURCUSTOMPOSTNAME即可。php,有关更多参考资料,请参阅:

SO网友:Scott

如果已创建新的自定义帖子类型,则要在网站上显示它们,需要使用主题文件夹中的以下文件:

存档{CPT}。php

  • 单{CPT}。php(如果希望以不同方式显示单个帖子,则可以选择)
  • 将{CPT}替换为您设置的自定义帖子类型的名称。然后在这些文件中,只需像在索引中那样执行普通循环。php文件。

    例如。

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

    SO网友:test
    <?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; ?>
    
    结束

    相关推荐