1

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

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

4

2 回答 2

2

我终于发现了我的错误——实际上是两个。

我有一个类别叫做event- 这是我的第一个错误(我认为)。
我的第二个错误是我的文件名singe-event.php<-- 缺少l

这就是您花费 5 个小时调试和阅读自定义模板与自定义帖子类型相结合的方式......

于 2013-10-10T14:43:51.167 回答
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')
);
于 2013-10-10T12:54:43.170 回答