我正在注册一个自定义帖子类型:
register_post_type('agent_info', array(
'labels' => array('name' => __('Agents'),
'singular_name' => __('Agent'),
'add_new_item' => __('Add New Agent'),
'edit_item' => __('Edit Agent'),
),
'public' => true,
'_builtin' => false,
'query_var' => true,
'rewrite' => array('slug' => 'agents', 'with_front' => false),
'show_ui' => true,
'supports' => array('title')
));
当我尝试使用'/ agents / agent-name-slug'访问代理时出现404错误,但是我将代理更改为agent_info,它运行正常。我错过了什么让重写的东西正常工作?
答案 0 :(得分:5)
要检查两件事:你是否将帖子类型注册挂钩到init?你每次更改重写slug时都在刷新重写规则吗?
如果你没有连接到init,你应该。
要刷新重写规则,只需转到永久链接设置页面即可。您甚至不需要单击“保存”。一旦你去那里,它就会重写规则。
另外,我不知道你是否意识到这一点,但这不会给你一个你的帖子类型的列表视图。要启用它,您还必须将它添加到init挂钩:
add_rewrite_rule( 'agents/?$', 'index.php?post_type=agent_info', 'top' );
添加该代码后,请返回永久链接设置页面。