未获取自定义帖子类型的帖子

时间:2015-02-10 作者:rahul bhatt

我创建了一个自定义模板,并试图获得一个类型为“的自定义帖子”;歌曲“;,但它只在页面上显示页眉和页脚。没有帖子内容。即使我尝试调用一般帖子,也没有内容出现,我是否应该在主题中的任何位置注册此模板?或者需要在这里打电话?

我的代码:

<?php 
/* Template Name: song Page
 *
 * Selectable from a dropdown menu on the edit page screen.
 */

get_header(); ?>

<div>

<?php 
if ( have_posts() ) {
   while ( have_posts() ) {
      the_post(); 
      query_posts( \'post_type=song\'); 
   } // end while
} // end if
?></div>

<?php get_footer(); ?>
请帮助更正我的代码。我想显示所有自定义帖子类型的帖子;歌曲;。我已经创建了自定义帖子类型。

我把上面的代码放在WordPress编辑器中,我安装了一个名为;PHP执行“;所以它执行PHP代码。

5 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

您的代码中确实存在两个主要缺陷:

  • query_posts 需要在循环之前进行,而不是在循环内部

    切勿使用query_posts 首先,除非你需要在你的页面上打破一些东西

    学习为什么不使用query_posts 以及何时使用自定义查询以及如何使用它,请检查this post 我刚才做过

    因此,为了更正模板中的代码,我们将使用WP_Querynot query_posts, 我们将进行查询before 回路

    尝试以下操作:

    <?php 
     /* Template Name: song Page
     *
     * Selectable from a dropdown menu on the edit page screen.
     */
    ?>
    
    <?php get_header(); ?>
    
    <div>
    
        <?php 
        $args = array(
            \'post_type\' => \'song\'
        );
        $q = new WP_Query($args);
        if ( $q->have_posts() ) {
            while ( $q->have_posts() ) {
                $q->the_post(); 
    
                //Add your template tags like below
                the_title();
    
            } // end while
            wp_reset_postdata();
        } // end if
        ?>
    
    </div>
    
    此外,如果使用了循环或setup_postdata($post) 具有wp_reset_postdata()

SO网友:Brad Dalton

如果您只想为自定义帖子类型列出存档中的所有页面,则无需创建任何模板:

您只需转到http://example.com/songs WordPress将根据模板层次结构在标准存档中显示您的所有CPT页面。交换示例。与您的域通信。

您可能需要重新保存永久链接以刷新重写规则,并在register\\u post\\u type函数中包含以下参数:

\'has_archive\' => true,

\'rewrite\' => array( \'slug\' => \'songs\', \'with_front\' => false ),
如果要为CPT存档创建自定义页面,请创建一个新文件并将其命名为archive song。主题根目录中的php。

SO网友:gadolf

转到Settings > Permalinks然后点击;Save Changes"E;按钮现在刷新页面。

SO网友:Mike

Or even

query_posts( \'post_type=song\');
SO网友:vcamargo

你试过了吗\'post_type\'=> \'songs\'?

参考号:Querying by Post Type

结束

相关推荐