Creating a Custom Post Type

时间:2017-03-01 作者:Trenton Moore

我以前在一个主题中创建过自定义帖子类型(实际上是在我现在遇到问题的确切主题上),而且一切都相对顺利。然而,现在我遇到了一个问题,我正在尝试创建一个带有归档和内容php文件的帖子类型,但它不起作用。更具体地说,slug不起作用。

function sop_posttype() {
  register_post_type( \'sop\',
    array(
      \'labels\' => array(
        \'name\' => __( \'SOPs\' ),
        \'singular_name\' => __( \'SOP\' )
      ),
      \'slug\' => \'sop\',
      \'menu_icon\' => \'dashicons-editor-help\',
      \'public\' => true,
      \'has_archive\' => true,
      \'supports\' => [ \'title\', \'editor\', \'thumbnail\' ]
    )
  );
}
add_action( \'init\', \'sop_posttype\' );
以上是我注册的帖子类型。它几乎与我以前的帖子类型完全相同,只是名称不同。

我的归档文件称为归档sop。php,我的内容文件称为内容sop。php。

我似乎看不到我的注册码中缺少任何内容,其他帖子类型也正常工作,但由于某种原因,当我尝试访问归档页面时,我仍然得到404(http://url.com/sop/), 尽管我添加了一个测试帖子。

2 个回复
最合适的回答,由SO网友:Laxmana 整理而成

你必须刷新WordPress的重写规则。您可以通过转到永久链接设置并单击保存或使用flush_rewrite_rules

这是因为WordPress不知道新自定义帖子类型的URL结构。请在此处阅读更多信息:Custom Post Type and Permalink

SO网友:rudtek

您的注册中没有任何可以刷新永久链接的代码(除非这里有更多代码)。转到“设置/参数链接”,然后单击“保存”。这将使链接正常工作。

如果您希望将添加到cpt创建中的代码自动执行此操作,请告诉我。

相关推荐