为什么我的自定义帖子类型不是使用我的自定义模板?

时间:2013-10-10 12:33:41

标签: wordpress templates custom-post-type

我创建了一个自定义帖子类型,我正在尝试使用自定义模板来显示内容。

我的模板文件名为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?我错过了什么?

2 个答案:

答案 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')
);