wordpress知识库
网站首页 > 知识库 > wordpress知识 >

深入了解admin_notices钩子

2016/06/02

admin_notices 是 WordPress 中一个非常有用的动作钩子(Action Hook),它允许开发者在后台页面的顶部显示自定义的通知消息。这些通知可以是更新提示、错误消息、警告或任何其他类型的管理员通知。

使用 admin_notices 钩子

要使用 admin_notices 钩子,你需要将你的自定义函数挂钩(hook)到 admin_notices 动作上。然后,在你的函数中,你可以输出 HTML 代码来显示你的通知消息。WordPress 会在后台页面的适当位置自动显示这些消息。

基本示例

下面是一个简单的示例,展示了如何使用 admin_notices 钩子来显示一个简单的更新通知:

function my_custom_admin_notice() {
    ?>
    <div class="notice notice-success is-dismissible">
        <p><?php _e( '操作成功完成!', 'text-domain' ); ?></p>
    </div>
    <?php
}
add_action( 'admin_notices', 'my_custom_admin_notice' );

这段代码会在所有后台页面的顶部显示一个可关闭的成功通知。notice-success 类给通知添加了绿色背景,表示操作成功。WordPress 还提供了其他几种通知样式,如 notice-info(蓝色)、notice-warning(黄色)和 notice-error 或 notice-error(红色),分别用于信息、警告和错误消息。

条件显示通知

你可能只想在特定条件下显示通知,比如仅在特定的后台页面或当满足某些条件时。你可以通过在你的自定义函数中添加条件逻辑来实现这一点:

function my_custom_admin_notice_condition() {
    // 获取当前屏幕的信息
    $screen = get_current_screen();
    
    // 仅在“设置”页面显示此通知
    if ( $screen->id == "options-general" ) {
        ?>
        <div class="notice notice-warning is-dismissible">
            <p><?php _e( '这是设置页面的特别提醒。', 'text-domain' ); ?></p>
        </div>
        <?php
    }
}
add_action( 'admin_notices', 'my_custom_admin_notice_condition' );

这个示例中,通知只会在后台的“设置”页面显示,因为它检查了当前页面的 ID 是否为 options-general

小结

admin_notices 钩子是 WordPress 中一个强大的工具,允许开发者在后台页面顶部显示自定义通知。通过添加条件逻辑,你可以精确控制这些通知的显示位置和时间,从而提高用户体验和后台管理的效率。