digitoimistodude / air-notifications
在网站上轻松创建和管理公共通知。
1.0.6
2023-08-07 10:21 UTC
README
使用此插件,您需要安装 Advanced Custom Fields PRO 插件。
为通知创建自定义文章类型,并为它添加以下 ACF 字段
- 开始时间
- 结束时间
- 通知内容
- 允许关闭(用于检查是否需要添加关闭按钮)
- 位置(用于在同一个页面上显示不同的通知位置)
- 在页面上显示(指定要在其上显示通知的页面。如果没有选择任何页面,通知将在所有页面上显示)
注册通知位置
默认情况下,Air 通知有一个默认通知位置设置。您可能想要更改其名称,因为很可能会与您的用例不匹配(在页面的顶部使用芬兰语和位置)。如果您需要,也可以添加更多位置。
使用过滤器 air_notifications_locations
添加/修改通知位置。
add_filter( 'air_notifications_locations', function( $locations ) { $locations['your-location'] = 'Your location'; return $locations; } );
将通知添加到模板中
为了在您的页面上显示通知,您需要在模板中调用它们。这是通过向您的模板添加以下操作来完成的。此操作接受通知位置作为参数。
do_action( 'air_notifications_show_notifications', 'your-location' );
禁用默认通知 CSS
如果您想使用默认通知模板,但又不想加载其 CSS,可以禁用它。
add_filter( 'air_notifications_disable_css', '__return_true' );
自定义通知模板
默认通知模板可以被您自己的自定义模板替换。您需要将其命名为 notification-template-your-location.php
。因此,如果您要替换默认位置,您将需要创建文件 notification-template-default.php
。这些模板需要保存在 yourtheme/templates
中。
在这些模板中,您可以通过 $notification
变量访问通知数据。
如果您想添加关闭通知的能力,您需要确保您做了以下三件事。
- 确保您的包装器默认有
display: none
,这是为了防止通知在已经关闭的情况下出现然后消失。 - 将类
air-notification
添加到您的包装器 - 将数据属性
data-notification-id
添加到您的包装器和按钮。此值的唯一性很重要,因为当关闭通知时,它将被保存在用户的本地存储中。$notification['guid']
正是为了这个目的而创建的。
请注意,通知有一个选项 is_dismissable
,这可以用来检查您的通知是否需要按钮。