我注册了一个名为“事件”的新帖子类型。这种类型的帖子确实会显示在循环中,但我无法访问单个事件。当我点击“事件”帖子时。此外,我无法访问此帖子类型的类别。
你在网上读到的唯一建议——刷新重写规则——对我没有用。
还有其他建议吗?
这是我对这类帖子的注册码:
add_action (\'init\', \'register_events_posttype\');
function register_events_posttype(){
$labels = array();
$args = array(
\'label\' => \'Events\',
\'labels\' => $labels,
\'show_in_menu\' => true,
\'show_ui\' => true,
\'show_in_nav_menus\' => true,
\'show_in_rest\' => true,
\'menu_position\' => 2,
\'menu_icon\' => \'dashicons-calendar-alt\',
\'supports\' => array(\'title\',\'editor\',\'thumbnail\', \'excerpt\', \'custom-fields\', \'comments\',\'revisions\', \'archives\',),
\'taxonomies\' => array(\'category\', \'post_tag\'),
\'rewrite\' => array(\'slug\' => \'events\',\'with_front\' => false)
);
register_post_type(\'event\', $args);
}
最合适的回答,由SO网友:FullStack Alex 整理而成
嗯。在花了几个小时进行研究并尝试了一些建议的解决方案后,我发现我只需要将此参数添加到参数数组中,然后才能刷新永久链接(=切换到默认永久链接结构并返回到仪表板设置中的自定义帖子名称结构):
\'public\' => true,
\'has_archive\' => true,
它与register\\u post\\u类型中的单数参数(“event”)无关。我将其改回原来的状态(单数“事件”),因为我喜欢将其作为数据库请求的单数。数据库内帖子的帖子类型名称也是单数(“post”)。
但对于WP REST API路由,我将REST\\u base设置为复数:
\'rest_base\' => \'events\',