用以下方法打砖墙:
我有:
- 1个自定义帖子类型称为
cpt_community
- 1个自定义分类法
tax_community
如果我'rewrite' => true
在CPT注册中进行了设置,则此CPT条目的永久链接为形式http://<domain>/cpt_community/test_item/
,并且浏览至此时会得到404。
如果设置了 'rewrite' => false
,则永久链接为http://<domain>/?cpt_community=test_item/
,并且效果很好。
所以,我显然做错了/愚蠢的-问题是,什么?
[更新]
- 每次更改后,我都会通过转到“设置”>“永久链接”(并保存)来刷新规则
- 将所有内容搁置一个小时后,一切都开始正常工作-那么为什么要延迟呢?
码
CPT注册
function community_post_type() {
$labels = array('name' => 'Community');
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_menu' => true,
'query_var' => true,
'rewrite' => false,
'capability_type' => 'post',
'has_archive' => true,
'hierarchical' => false,
'menu_position' => null,
'has_archive' => true,
'supports' => array('title','editor','excerpt','custom-fields','comments','revisions','thumbnail','author','page-attributes')
);
register_post_type('cpt_community', $args);
}
add_action( 'init', 'community_post_type' );
海关分类注册
function community_tax_type() {
register_taxonomy(
'tax_community',
'cpt_community',
array( 'hierarchical' => false,
'label' => 'Community Content Type',
'show_ui' => true,'query_var' => true,
'rewrite' => true,
'singular_label' => 'Community Content Type',
'capabilities' => array('assign_terms' => 'edit_community_tags')
)
);
# allow roles to add community taxonomy tags to a community CPT
$roles = array("subscriber","contributor","author","editor","administrator");
foreach ($roles as $role_name) {
$role = get_role($role_name);
$role->add_cap("edit_community_tags");
}
}
add_action( 'init', 'community_tax_type' );
1
您已经通过访问“永久链接”页面并保存保存了刷新的重写内容?
—
米洛
@milo-是的 有趣的是,走路走了一个小时,然后回来后,在“漂亮固定链接”现在工作-我会更新的问题和帧它作为一个“为何迟迟”
—
ANU
您是否使用缓存插件?在禁用所有其他插件的情况下,其运行速度更快吗?(只是避开通常的嫌疑人)
—
Jan Fabry
@jan-没有缓存插件。问题是我无法重现此行为-现在已经发生了几次,此后又消失了,但是没有具体的行动(我可以告诉我)来实际修复它。
—
阿努