自定义POST类型存档和Single.php文件不起作用

时间:2013-05-10 作者:Dannyw24

嗨,我已经创建了一个名为shows的自定义帖子类型。

这是它的代码。

<?php
add_action(\'init\', \'show_register\');

function show_register() {
        //arguments to create the post type.
        $args = array(
                \'label\' => __(\'shows\'),
                \'singular_label\' => __(\'Show\'),
                \'public\' => true,
                \'show_ui\' => true,
                \'capability_type\' => \'post\',
                \'hierarchical\' => true,
                \'has_archive\' => true,
                \'supports\' => array(\'title\', \'editor\', \'thumbnail\', \'custom-fields\'),
                \'rewrite\' => array(\'slug\' => \'shows\', \'with_front\'
                => false), );
                //Register type and custom taxonomy for type.
                register_post_type( \'shows\' , $args );

                register_taxonomy("Show-type", array("shows"),
                array("hierarchical" => true, "label" => "Show
                Types", "singular_label" => "Show Type", "rewrite"
                => true, "slug" => \'show-type\'));
}
?>
我已经创建了2个文件,它们遵循wordpress层次结构并调用了它们archive-shows.phpsingle-shows.php. 这些应该自动链接到正确的页面,但由于某些原因,它们都默认返回索引。php。

正常的single.phparchive.php 正常工作。

Fix尝试了Permalinks Flushedarchive = true

请提供任何建议。

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

注册这些东西后,你必须刷新永久链接。有很多方法可以自动完成,但最快捷的方法是浏览wp-admin->Settings->Permalinks 然后单击“保存更改”。如果这是你的网站,而你没有发布插件,那么这将很好地工作。如果这是一个插件(可能应该是),您可以运行flush_rewrite_rules(); 在插件的激活挂钩上。抄本中的一个例子:

function myplugin_activate() {
    // register taxonomies/post types here
    flush_rewrite_rules();
}

register_activation_hook( __FILE__, \'myplugin_activate\' );

function myplugin_deactivate() {
    flush_rewrite_rules();
}
register_deactivation_hook( __FILE__, \'myplugin_deactivate\' );
除此之外,我对您的代码没有任何问题(未经修改复制)。注册的CPT和single-shows.phparchive-shows.php 冲洗permalinks后工作。

结束

相关推荐