自定义API正在积极开发,通过搜索Slack中#core-customize频道的存档,可以找到更多关于高级话题的讨论。
允许非管理员访问定制器
定制器的访问是由定制器meta能力(默认映射到edit_theme_options)控制的,默认情况下,它只分配给管理员。这允许更广泛地使用定制器的广泛能力--访问选项,这些选项被内置到面板、板块和设置中。此外,这使得允许非管理员使用定制器,例如,自定义文章。这一变化是朝着将定制器的范围扩大到主题以外的一个重要步骤。
function allow_users_who_can_edit_posts_to_customize( $caps, $cap, $user_id ) { $required_cap = 'edit_posts'; if ( 'customize' === $cap && user_can( $user_id, $required_cap ) ) { $caps = array( $required_cap ); } return $caps; } add_filter( 'map_meta_cap', 'allow_users_who_can_edit_posts_to_customize', 10, 3 );
注意,如果你要授予非管理员用户定制meta的能力,目前有必要在管理菜单、管理栏或其他地方手动添加定制器的链接。