分层自定义POST类型固定链接不起作用

时间:2012-04-16 作者:Jonathan

几个小时以来,我一直在寻找有同样问题的人,所以我决定发布自己的帖子。

我有一个称为联系信息的分层自定义帖子类型。使用它,我有不包含任何信息的父页面和包含信息的子页面!在单一联系人信息中。php我设置了一个重定向规则,将父对象重定向到其第一个子对象。这很有魅力!

然而就在几天前,childpages突然对我发起了404攻击!看起来这些页面确实存在,它们确实被设置为父母的孩子,但永久链接不起作用。这是我的permalink结构,基本结构:

/%年%/%月%/%日%/%postname%/

所以基本上:

我的网站。com/联系信息/父页/子页

不起作用,但是

我的网站。com/联系信息/子页面

确实有效

我的网站。com/联系信息/父页

以下是创建自定义帖子类型的代码,来自自定义帖子类型UI插件:

register_post_type(\'contact-information\', array(    \'label\' => \'Contact info\',\'description\' => \'\',\'public\' => true,\'show_ui\' => true,\'show_in_menu\' => true,\'capability_type\' => \'post\',\'hierarchical\' => true,\'rewrite\' => array(\'slug\' => \'\'),\'query_var\' => true,\'supports\' => array(\'title\',\'revisions\',\'page-attributes\',),\'labels\' => array (
  \'name\' => \'Contact info\',
  \'singular_name\' => \'Contact information\',
  \'menu_name\' => \'Contact info\',
  \'add_new\' => \'Add Contact information\',
  \'add_new_item\' => \'Add New Contact information\',
  \'edit\' => \'Edit\',
  \'edit_item\' => \'Edit Contact information\',
  \'new_item\' => \'New Contact information\',
  \'view\' => \'View Contact information\',
  \'view_item\' => \'View Contact information\',
  \'search_items\' => \'Search Contact info\',
  \'not_found\' => \'No Contact info Found\',
  \'not_found_in_trash\' => \'No Contact info Found in Trash\',
  \'parent\' => \'Parent Contact information\',
),) );

EDIT:

我只是试着自己在函数中创建一个CPT,使用http://themergency.com/generators/wordpress-custom-post-types/ 这个问题仍然存在,所以我很确定这与permalinks有关,我只是不知道是什么!

3 个回复
SO网友:Diana

我努力为帖子类型和自定义分类创建层次结构,然后发现了这段很棒的代码,也许你可以用它来创建一个基于日期的scstructure:https://wordpress.stackexchange.com/a/55366/17048

SO网友:Shimon S

尝试此插件http://wordpress.org/extend/plugins/custom-post-type-permalinks/.
在我开始使用这个插件之前,我对自定义类型的永久链接有很多问题,还有404个错误。

SO网友:Jonathan

在查看代码时,可能需要查看重写数组键。

\'rewrite\' => array(\'slug\' => \'contact-information\', \'with_front\' => true),
这将重写您的自定义帖子类型url。

但有一个抓住了。。。当您将其添加到函数中时,您需要转到永久链接结构,然后再次单击保存。您无需更改任何内容,但通过单击“保存”,它会重写您的。htaccess文件,以便WordPress识别新的slug。

如果您将此开发用于商业或公开发布,您可以始终执行以下操作:

global $wp_rewrite
$wp_rewrite->flush_rules();
以下是参考链接:http://codex.wordpress.org/Function_Reference/flush_rewrite_rules

以及自定义帖子类型的链接。页面下半部分是重写段塞的设置:http://codex.wordpress.org/Function_Reference/register_post_type

我只是更喜欢亲身体验我的WordPress安装,所以我知道到底发生了什么。

结束

相关推荐

Custom post type permalinks

我有一个名为“数字”的自定义帖子类型,我想实现URL的“帖子”如下http://website.com/post-name 而不是http://website.com/number/post-name.我试图将register\\u post\\u type中的“rewrite”参数设置为:\'rewrite\' => array( \'slug\' => \'\', \'with_front\' => false ), 但它没有起作用。即使我保存了永久链接设置以刷新它。(我将永久链接设