WordPress中文开发手册

WordPress主题开发 — 高级用法

自定义API积极开发; 此页面包含其他更高级的主题。 通过在Slack中搜索#core-customize频道的档案来查找高级主题的更多讨论。

允许非管理员访问定制器

定制器访问由自定义元功能(默认映射到edit_theme_options)控制,默认情况下仅分配给管理员。 这允许更广泛地使用定制器广泛的功能访问选项,内置在面板,部分和设置中。 此外,这样可以允许非管理员使用自定义程序,例如自定义帖子。 此更改是将Customizer的范围扩展到主题以外的重要一步。

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 );

请注意,如果要向非管理员用户授予自定义元功能,则目前有必要在管理菜单,管理栏或其他位置手动添加定制程序的链接。