WP:自定义帖子类型,重写网址给404

时间:2010-08-14 16:05:38

标签: wordpress wordpress-plugin

我正在注册一个自定义帖子类型:

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,它运行正常。我错过了什么让重写的东西正常工作?

1 个答案:

答案 0 :(得分:5)

要检查两件事:你是否将帖子类型注册挂钩到init?你每次更改重写slug时都在刷新重写规则吗?

如果你没有连接到init,你应该。

要刷新重写规则,只需转到永久链接设置页面即可。您甚至不需要单击“保存”。一旦你去那里,它就会重写规则。

另外,我不知道你是否意识到这一点,但这不会给你一个你的帖子类型的列表视图。要启用它,您还必须将它添加到init挂钩:

add_rewrite_rule( 'agents/?$', 'index.php?post_type=agent_info', 'top' );

添加该代码后,请返回永久链接设置页面。

相关问题