Wordpress 为什么不是';t发布类型模板是否适合我?

Wordpress 为什么不是';t发布类型模板是否适合我?,wordpress,Wordpress,因此,它指出: single-{post_type}.php 如果自定义帖子类型为“product”和/或query_var=“product”,WordPress将查找single-product.php以显示 单发或永久发邮件 因此,我在functions.php中有以下代码: register_post_type( 'project',$args); 我有一个模板:singleproject.php 那为什么我的自定义帖子不使用这个模板呢 更新 使用get\u post\u types(

因此,它指出:

single-{post_type}.php
如果自定义帖子类型为“product”和/或query_var=“product”,WordPress将查找single-product.php以显示 单发或永久发邮件

因此,我在functions.php中有以下代码:

register_post_type( 'project',$args);
我有一个模板:
singleproject.php

那为什么我的自定义帖子不使用这个模板呢

更新
使用
get\u post\u types()
我可以看到没有列出我的帖子类型。如果没有注册,为什么我可以创建和删除自定义帖子

add_action('after_setup_theme','init_setup');

function init_setup() {
  add_action( 'init', 'create_post_type' );
}

function create_post_type() {
  $args = array(
    'labels' => array(
      'name' => __( 'Prosjekter' ),
      'singular_name' => __( 'Prosjekt' ),
      'add_new' => __('Nytt prosjekt')
    ),
    'public' => true,
        'show_ui' => true,
        'show_in_menu' => true,
    'has_archive' => false,
    'taxonomies' => array('category'),
    'menu_position' => 5,
    'supports' => array( 'title', 'editor', 'thumbnail', 'page-attributes','post_tag' ),
    'rewrite' => array('slug' => 'prosjekt')
  );

  register_post_type( 'project',$args);
}
抄本:

register\u post\u类型只能通过“init”操作调用。 如果在“init”之前调用它,那么它将根本不起作用,新的 如果稍后调用,post类型将无法正常工作

你试过这样注册吗

add_action( 'init', 'create_post_type' ); // NOT inside `init_setup()`
[编辑]

我唯一能想到的另一件事是,由于您正在使用
重写
,因此可能需要刷新重写规则。同样来自法典:

注意:如果在插件中注册帖子类型,请调用 刷新激活和停用挂钩中的\u重写\u规则()(请参阅 下面是激活时刷新重写)。如果不允许刷新\u重写\u规则() 如果已使用,则必须手动转到设置>永久链接并 刷新permalink结构,然后自定义帖子类型将被删除 显示正确的结构


如果您现在不想摆弄
flush\u rewrite\u rules()
函数,只需进入设置>永久链接并重新保存您的永久链接首选项。

@Steven我用另一种可能的解决方案更新了我的答案。我删除了重写并将Permalink设置为“Post name”,现在它可以工作了。谢谢:-D@Steven伟大的玩得高兴