从 WordPress 6.0 中的用户个人资料页面中删除配色方案选项

jov*_*log 4 php wordpress color-scheme wordpress-admin

我总是在必须使用的插件中使用此代码来删除整个配色方案部分:

remove_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );
Run Code Online (Sandbox Code Playgroud)

不幸的是,对于 WordPress 6.0,这不再起作用。我发现核心最近从一个文件add_action( 'admin_color_...移到了另一个文件,但我不确定为什么以及如何我必须更新上面的代码片段才能使其再次工作。default-filters.phpadmin-filters.php

小智 8

为了使remove_action()调用有效,需要在添加要删除的操作之后、该操作运行之前调用它。

admin_color_scheme_pickerWordPress在admin-filters.php中添加操作,然后在user-edit.php管理页面模板中运行该操作。

admin_color_scheme_picker在用户配置文件页面上调用该操作之前删除该操作,您可以remove_action()使用admin_head-profile.php挂钩运行该调用:

add_action( 'admin_head-profile.php', 'wpse_72463738_remove_admin_color_scheme_picker' );

/**
 * Remove the color picker from the user profile admin page.
 */
wpse_72463738_remove_admin_color_scheme_picker() {
    remove_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );
}
Run Code Online (Sandbox Code Playgroud)

请注意,该admin_head-{$hook_suffix}钩子在特定管理页面的头部部分触发。在上面的示例中,在挂钩名称中替换为 使其在用户管理配置文件页面上运行$hook_suffixprofile.php