星辰解忧工作室网盘合集          阿里云服务器特惠          星辰工具箱合集          腾讯云服务器特惠          游戏加速器礼包合集
         雨云服务器 宝塔面板优惠 送你10850元礼包 子比主题优惠 文字广告位10/月
华为云优惠 文字广告位10/月 腾讯云服务器特惠 文字广告位10/月 文字广告位10/月
文字广告位10/月 文字广告位10/月 文字广告位10/月 文字广告位10/月 文字广告位10/月
文字广告位10/月 文字广告位10/月 文字广告位10/月 文字广告位10/月 文字广告位10/月

温馨提示:请在上面搜索| 查找更多免费资源,如需广告位请联系站长QQ 3649844032

WordPress 6.4 引入新的后台管理通知函数

WordPress 主题 CoreNext

后台管理通知(Admin notices)在 WordPress核心和扩展程序社区中广泛使用。管理通知具有通用的标记模式和CSS类,但需要为整个项目中的每个通知独立维护HTML 。

#57791中,提出了两个新函数:wp_get_admin_notice()wp_admin_notice()

这些函数抽象了 HTML 标记生成,以减少维护负担、鼓励一致性并为所有管理通知启用参数和消息过滤。此外,wp_admin_notice还引入了一个新动作钩子,该动作在输出通知之前触发。

新函数

wp_get_admin_notice()

  • 返回管理通知的标记。
  • 注意:标记未完全转义,在输出之前应注意选择适当的转义函数。

wp_admin_notice()

  • 输出管理通知的标记。
  • 标记是使用wp_get_admin_notice()创建和在输出之前使用wp_kses_post()转义的。

参数

这两个函数都有以下参数:

  • string $message 通知的消息。
  • array $args 通知的参数数组。
    • string $type 可选。管理通知的类型。这将被附加到'notice-'创建 HTML 类名称。例如,'success' 的类型将生成'notice-success'HTML 类。默认空字符串。
    • bool $dismissible 可选。通知是否可以驳回。默认为 false。
    • string $id 可选。HTML 属性的值id。默认空字符串。
    • array $additional_classes 可选。用于通知的附加类名称的数组。这些按规定使用。默认空数组。
    • array $attributes 可选。通知的 HTML 属性的关联数组。布尔true属性可能只包括属性的名称。默认空数组。
    • array $paragraph_wrap 可选。是否将消息包装在

      标签中。默认为true

过滤器

wp_get_admin_notice()应用以下过滤器:

  • wp_admin_notice_args– 过滤管理员通知的参数。
    • 传递的参数:array $args,string $message
  • wp_admin_notice_markup– 过滤管理员通知的标记。
    • 传递的参数:string $markupstring $message,array $args

动作钩子

wp_admin_notice()触发以下操作:

  • wp_admin_notice– 在输出管理通知之前触发。
    • 传递的参数:string $message,array $args

用法示例

输出可隐藏的成功通知

wp_admin_notice(
  __( 'Plugin update failed.', 'my-text-domain' ),
  array(
    'type'               => 'error',
    'dismissible'        => true,
    'additional_classes' => array( 'inline', 'notice-alt' ),
    'attributes'         => array( 'data-slug' => 'plugin-slug' )
  )
);

结果

Plugin update failed.

创建要立即输出的通知集合 

$output = '';
foreach ( $success_messages as $message ) {
  $output .= wp_get_admin_notice(
    $message,
    array( 'type' => 'success' )
  );
}
 
echo wp_kses_post( $output );

结果

Success message 1

(每个通知都重复)

为每个“警告”管理通知添加一个类

add_filter( 'wp_admin_notice_args', 'myprefix_add_class_to_warnings' );
function myprefix_add_class_to_warnings( $args ) {
  if ( 'warning' === $args['type'] ) {
    $args['additional_classes'][] = 'my-class';
  }
 
  return $args;
}

结果

Warning message 1

(对每个警告通知重复)

WordPress 核心中的用法

新的管理通知功能已在 WordPress Core 的大多数位置实现。进一步的工作将在 WordPress 6.5 中完成,以完成该过程并将旧通知(使用 'updated''error'类)迁移到当前的管理通知模式('notice-success''notice-info''notice-warning''notice-error')。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

温馨提示: 本文最后更新于2024-08-09 18:51:52,某些文章具有时效性,若有错误或已失效,请在下方 留言或联系 星辰源码网
© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容