Customize API 正在积极开发中;本页面包含更多高级主题。关于高级主题的额外讨论可以通过在 #core-customize 频道搜索 Slack 档案找到。

允许非管理员访问 Customizer

Customizer 的访问权限由 customize meta capability(默认映射为 edit_theme_options)控制,该能力默认仅分配给管理员。这使得 Customizer 广泛的能力访问选项得以更广泛使用,这些选项已内置于面板、部分和设置中。此外,这还使得允许非管理员用户使用 Customizer 成为可能,例如自定义帖子。这一变化是扩大 Customizer 范围的重要一步,使其超越主题范畴。

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

请注意,如果您将 customize meta capability 授予非管理员用户,则必须手动在管理菜单、管理栏或其他位置添加指向 Customizer 的链接。