我创建了一个自定义帖子类型,我正在尝试使用自定义模板来显示内容。
我的模板文件名为single-event.php
< - 错误在这里
我的自定义帖子类型代码是:
function create_post_type() {
$args = array(
'labels' => array(
'name' => __( 'Événement' ),
'singular_name' => __( 'Événement' ),
'add_new' => __('Nouvel Événement')
),
'public' => true,
'has_archive' => true,
'taxonomies' => array('event_data'),
'menu_position' => 5,
'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt' ),
'rewrite' => array('slug' => 'event')
);
register_post_type( 'event',$args);
}
我的自定义模板如下所示:
<?php get_header(); ?>
<div id="event" class="full-width-container single-post">
TEEEEEEEST
</div>
<?php get_footer(); ?>
在浏览器中打开自定义帖子,网址为:
http://my.site.no/?event=my-custom-post-title
但是为什么它使用single.php
而不是single-event.php
?我错过了什么?
答案 0 :(得分:1)
我终于找到了我的错误 - 实际上是两个。
我有一个名为event
的类别 - 这是我的第一个错误(我认为)
我的第二个错误是我的文件名是singe-event.php
&lt; - 缺少l
这就是你花了5个小时调试和阅读自定义模板以及自定义帖子类型....
答案 1 :(得分:0)
Wordpress有时需要使用自定义帖子刷新永久链接。 你应该尝试激活永久链接,然后再试一次!
希望它对你有用..
只需添加重写参数并尝试url example.com/event
function create_post_type() {
$args = array(
'labels' => array(
'name' => __( 'Événement' ),
'singular_name' => __( 'Événement' ),
'add_new' => __('Nouvel Événement')
),
'public' => true,
'has_archive' => true,
'rewrite' => array( 'slug' => 'event' ), //Add this parameter
'taxonomies' => array('event_data'),
'menu_position' => 5,
'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt' ),
'rewrite' => array('slug' => 'event')
);