2014-05-17 67 views
2

我在wordpress中创建自己的帖子,但是我遇到了一个小问题,我不知道如何解决它。WordPress的register_post_type无效的帖子类型

下面的register_post_type会创建一个无效的帖子类型错误。

add_action('init', 'create_post_type'); 
function create_post_type() { 
register_post_type('talent', 
    array(
     'labels' => array(
      'name' => __('Talent'), 
      'singular_name' => __('talent') 
     ), 
    'public' => true, 
    'has_archive' => true, 
    ) 
); 
} 

它似乎不喜欢这个词的天赋。如果我将“天赋”改为“arist”,它就会起作用。但是,它需要成为URL的'人才'。我检查了wordpress,并且使用天赋不应该导致与默认wordpress设置的任何冲突。

+0

确保岗位类型名称不超过20个字符:stackoverflow.com/a/26029803/722036 –

回答

3

这的确很奇怪,我尝试了按预期工作的片段。这让我想,可能你已经尝试过之前通过另一种方法注册相同的帖子类型。它可以是通过插件,也可以是相同的function.php文件,或者使用插件在数据库上创建自定义类型(例如CPT UI)。

我建议你以下两种情况:

  • 跟踪问题的真正本质,如果它不是搞乱了东西给你。你将来可能会遇到另一个类似的问题,这肯定会浪费你的宝贵时间。
  • 避免尤其是像自定义文章类型全局共享的东西一般命名空间,我一般会打电话给他们projectname_postname因此,举例来说,你会像这样结束:stackoverflow_talent

以为你走了,第二个,只使用slug改写为特定职位类型以这样的方式

register_post_type('myproject_talent', 
    array(
     'labels' => array(
      'name' => __('Talent'), 
      'singular_name' => __('talent') 
     ), 
    'public' => true, 
    'has_archive' => true, 
    'rewrite' => array('slug' => 'talent'), 
    ) 
); 

现在所有的信息会显示在/talent/路径。 记住在创建帖子类型后刷新永久链接结构,否则在前端看不到。

希望解决您的问题。

0

我有同样的问题,但答案不适合我。如果其他人发现这种情况,请确保帖子类型名称不超过20个字符。这可能是问题,Wordpress不会在意让你知道。

学分转到:https://stackoverflow.com/a/26029803/722036

相关问题