Wordpress无法识别单个自定义帖子类型文件

时间:2014-03-18 11:38:12

标签: php wordpress custom-post-type

我使用以下代码注册了两种自定义帖子类型

add_action( 'init', 'create_post_types' );
function create_post_types() {

    register_post_type( 'sector', array(
        'labels' => array(
            'name' => __( 'Sectors' ),
            'singular_name' => __( 'Sector' )
        ),
        'public' => true,
        'has_archive' => true,
        'supports' => array( 'title', 'editor' )
    ));

    register_post_type( 'player', array(
        'labels' => array(
            'name' => __( 'Players' ),
            'singular_name' => __( 'player' )
        ),
        'public' => true,
        'has_archive' => false,
        'supports' => array( 'title', 'editor' )
    ));
}

这正确地在Wordpress管理员和&amp ;;我可以创建新帖子。到现在为止还挺好。 尝试查看单个帖子或在档案中列出这些帖子时会出现问题。

在我的尝试中,我创建了archive-sector.phpsingle-sector.php ...跟随the documentation我希望单个'中的代码我访问以下网址时要显示的文件:http://mydomain.com/sector/a-single-post/

但它并不是简单地从index.php呈现代码。这令人沮丧。任何人都可以指出我出错的地方。

让我感到困惑的是,我可以在WP_Query内的自定义front-page.php内引用帖子:

<?php
    $args=array(
        'post_type' => 'sector',
        'post_status' => 'publish',
        'posts_per_page' => -1,
        'caller_get_posts'=> 1
    );
    $get_sectors = new WP_Query($args);
    if( $get_sectors->have_posts() ) {
        while ($get_sectors->have_posts()) : $get_sectors->the_post();
?>
    <div class="medium-6 columns">
        <div class="panel">
            <h3>
                <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
            </h3>
        </div>
    </div>
<?php
    endwhile;
    }
    wp_reset_query();
?>

这显示帖子标题没问题!

任何建议都会很棒,因为我对此感到茫然!

2 个答案:

答案 0 :(得分:3)

之前我遇到过同样的问题,解决方法是刷新重写规则。

为此,请转到设置&gt; 永久链接,只需保存当前设置。

这在Wordpress文档中有说明:http://codex.wordpress.org/Post_Types#Custom_Post_Type_Templates

答案 1 :(得分:0)

我找到了解决方案(至少对我而言)......上面的代码似乎运行正常。所需要的只是在Wordpress中重新保存固定链接(Settings > Permalinks)的设置。

我只能假设需要这样做才能清除缓存,因为{strong>先前已插入/%category%/%postname%/引用来注册自定义帖子类型。