为什么自定义帖子类型的URL是“/?cpost=the-name-of-post”,而默认帖子的URL是“/?p=id”?

时间:2014-09-24 作者:laggingreflex

普通岗位post_type 是数据库中的“post”,通过的URL结构访问www.blog.com/?p=ID 其中ID是在数据库中找到的帖子的实际ID(编号)。

但我已经使用register_post_type 函数,当我创建一篇这种类型的新帖子(“cpost”)时,wordpress会给我一个访问它的链接,它是URL结构www.blog.com/?cposts=name-of-the-custom-post.

为什么会有这种差异?如何告诉wordpress使用相同的URL结构访问这两种类型的帖子?(根据其ID)

1 个回复
SO网友:Diogo Gomes

对于普通帖子,可以在设置上设置永久链接结构→ Permalinks
所有详细信息可在Codex

对于自定义帖子类型,您可以在注册时设置slug:

add_action( \'init\', \'create_posttype\' );
function create_posttype() {
  register_post_type( \'cpost\',
    array(
      \'labels\' => array(
        \'name\' => __( \'cpost\' ),
        \'singular_name\' => __( \'cpost\' )
      ),
      \'public\' => true,
      \'has_archive\' => true,
      \'rewrite\'         => array(
          \'slug\'      => \'cpost\',
          \'with_front\'  => true
        ),
    )
  );
}
希望有帮助,干杯

结束

相关推荐

Multiple URLs with Numbers

我正在尝试更正Wordpress网站上的一个问题,该网站正在以以下格式生成重复页面:/关于美国/康涅狄格州/3/3/关于美国/康涅狄格州/3/3/关于美国/康涅狄格州/3//关于美国/康涅狄格州/3/关于美国/康涅狄格州/我无法确定是什么导致了这种情况的发生。有人能提出阻止这种情况发生的方法吗?谢谢Josh