通知

通知是显示在管理页面顶部附近的信息性UI。WordPress核心、主题和插件都使用通知来指示操作的结果,或者吸引用户注意必要的信息。

在经典编辑器中管理员通知(_N)操作可以呈现他们想要的任何HTML。在块编辑器中,通知仅限于更正式的API。

经典编辑器中的注意事项

在经典编辑器中,以下是“更新后的草稿”通知的示例:

经典编辑器中更新的后期草稿

制作一份等效的“草案更新后”通知需要以下代码:

/***钩住“admin_notices”操作进行呈现*通用HTML通知。*/函数myguten_admin_notice(){$screen=获取当前屏幕();//仅在后期编辑器中呈现此通知。if(!$screen | |'post'!==$screen->base){回报;}//呈现通知的HTML。//每个通知都应该用<div>包装//有一个通知类。echo'<div class=“notice notice-success is-dismissible”><p>';echo sprintf(__('帖子草稿已更新。预览帖子</a>'),get_Preview_Post_link());echo“</p></div>”;};add_action(“admin_notices”,“myguten_admin_notice”);

重要的是管理员通知(_N)钩子允许开发人员呈现他们想要的任何HTML。一个优点是开发人员具有很大的灵活性。关键的缺点是,如果不可能的话,任意HTML会使以后对通知的迭代更加困难,因为迭代需要适应任意HTML。这就是为什么块编辑器有一个正式的API。

块编辑器中的注意事项

在块编辑器中,以下是“发布后”通知的示例:

在块编辑器中发布的帖子

制作同等的“发布后”通知需要以下代码:

(函数(wp){wp.data.dispatch('core/notices').createNotice(“success”,//可以是以下之一:success,info,warning,error。'发布的帖子',//要显示的文本字符串。{isDismissible:true,//用户是否可以解除通知。//用户可以执行的任何操作。操作:[{url:“#”,label:'查看帖子',},],});})(window.wp);

你会想用这个通知数据API在JavaScript应用程序生命周期内生成通知时。

为了更好地理解上述特定代码示例:

  • 水处理是WordPress全局窗口变量。
  • wp.数据是块编辑器提供的用于访问块编辑器数据存储的对象。
  • wp.data.dispatch(“核心/通知”)访问通过Notices包注册到块编辑器数据存储的功能。
  • 创建通知()是Notices包提供的用于注册新通知的功能。块编辑器从通知数据存储中读取,以了解要显示的通知。

查看在编辑器中排队资源如何将自定义JavaScript加载到块编辑器中的入门教程。

了解更多信息

块编辑器为生成通知提供了完整的API。官方文档是一个很好的地方,可以用来审查哪些是可能的。

有关可用操作和选择器的完整列表,请参阅通知数据手册第页。