WordPress 管理通知的持久化解决方案:collizo4sky/persist-admin-notices-dismissal 库

WBOY
发布: 2025-03-09 08:14:13
原创
519人浏览过

最近在开发一个 wordpress 插件时,遇到了一个问题:插件需要显示一个重要的提示信息,但这个信息在用户关闭后,刷新页面就会再次出现。这不仅影响用户体验,也增加了不必要的麻烦。我尝试了一些方法,例如使用 wordpress 的选项存储来记录通知状态,但发现实现起来比较复杂,而且代码不够优雅。

这时,我发现了 collizo4sky/persist-admin-notices-dismissal 这个库。它专门用于解决 WordPress 管理通知的持久化问题,并且使用起来非常简单。首先,使用 Composer 安装该库:

composer require collizo4sky/persist-admin-notices-dismissal
登录后复制

安装完成后,我们需要在插件中引入该库并进行初始化:

add_action( 'admin_init', array( 'PAnD', 'init' ) );
登录后复制

接下来,让我们看看如何使用这个库来持久化一个管理通知。假设我们想要显示一个成功的提示信息:

function my_plugin_success_notice() {    if ( ! PAnD::is_admin_notice_active( 'my-success-notice-forever' ) ) {        return;    }    ?>    <div data-dismissible="my-success-notice-forever" class="updated notice notice-success is-dismissible">        <p><?php _e( '操作成功!', 'my-plugin-textdomain' ); ?></p>    </div>    <?php}add_action( 'admin_notices', 'my_plugin_success_notice' );
登录后复制

这段代码中,data-dismissible="my-success-notice-forever" 属性指定了通知的唯一标识符和持久化策略(forever 表示永久隐藏)。PAnD::is_admin_notice_active() 函数检查通知是否已被用户关闭。如果已被关闭,则通知将不会显示。 这个库还支持设置通知隐藏的天数,例如 data-dismissible="my-notice-3" 将会在3天后再次显示。

这个库的优势在于:

  • 简单易用: 只需简单的几行代码即可实现通知的持久化。
  • 高效便捷: 无需手动处理选项存储,库会自动完成所有持久化操作。
  • 灵活可控: 支持永久隐藏和设置隐藏天数两种策略。

通过使用 collizo4sky/persist-admin-notices-dismissal 库,我成功地解决了 WordPress 管理通知的持久化问题,提升了用户体验,也简化了插件的代码。 现在,我的插件提示信息只会在用户第一次看到并关闭后才会消失,避免了重复显示带来的困扰。 如果你也遇到类似的问题,不妨试试这个库,相信它会给你带来很大的帮助。 记住,需要在你的 admin_init hook 中调用 PAnD::init() 来初始化这个库。

以上就是WordPress 管理通知的持久化解决方案:collizo4sky/persist-admin-notices-dismissal 库的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号