永久WordPress管理员注意事项:第1部分

WordPress管理员通知提供了一种在管理员区域中向用户显示消息的便捷方法,例如在更新帖子或激活插件之后。 许多主题和插件还使用它们来显示有关任何内容的通知,从新功能或安全警告到正在进行的促销或升级提示的详细信息。

WordPress核心提供了四种不同的管理员通知,可在上下文中用于向用户发出特定类型的通知。 这是通过为每种类型的管理员通知显示唯一的强调颜色来实现的。

管理员通知通常显示在每个管理员页面的顶部,以与主页内容区分开来,并且清晰可见。 它们经过精心设计,以免在视觉上过于分散注意力。

WordPress核心管理员通知

WordPress还在整个管理界面的其他位置重复使用管理通知,例如在主题或插件更新可用时。 管理员通知的核心用法不仅限于显示在管理员屏幕的顶部。

WordPress管理员在其他位置的通知

在自定义插件或主题中显示管理员通知相对容易,只需要几行代码,我们很快就会发现。 但是,WordPress默认情况下不提供消除永久性管理员通知的方法。

即使您可以在任何管理员通知中添加一个关闭按钮,也不会阻止它在重新加载页面时重新出现。 另外,管理员通知会出现在每个管理员页面上,这远非理想。

如果您想精确地控制显示管理员通知的时间和位置,并希望有效地将其删除,则需要添加自定义代码来修改默认行为。

我们将涵盖的内容

我们将从头开始,探索通过自定义插件实现管理员通知的基础,包括仅在WordPress管理员的特定页面上显示它们。

默认情况下,管理员通知会显示在每个页面上,这并不总是您想要的。 例如,您可能只想在插件选项页面上显示通知。 因此,我们的下一个通话端口将是根据当前管理员屏幕有条件地显示管理员通知。

在此基础上,我们将介绍如何通过出现,他们也控制进一步管理管理通知。 它们仅在满足某些触发条件时才会显示,而不是在页面加载后立即显示。 例如,如果您想在插件选项页面上显示管理员通知,但是在保存设置之后,这可能会很有用。

如上所述,没有简单的方法可以消除页面加载之间的持久管理通知。 因此,本系列教程的其余部分将主要关注可用于消除管理员通知的各种方法,以免它们突然出现。

最后,为了获得一些乐趣,我们将介绍如何创建自己的自定义管理员通知类型,以及如何在管理员通知中添加其他装饰(例如图标)。

在本教程系列结束时,您将能够在WordPress管理员中的任何位置显示任何类型的管理员通知。 另外,您可以决定是在页面加载时显示它们还是通过自定义操作显示它们,还可以根据需要以各种不同的方式消除它们。

要跟进吗?

如果按照我们构建每个管理员通知示例的方式进行操作,您将从本教程系列中获得最大收益。 逐步介绍了代码,使您可以在我们逐步学习本教程的同时自行构建有效的插件。 但是,如果您不想自己键入所有代码,则可以在第四部分中下载完成的插件。

假定您至少具备WordPress插件开发的基本工作知识,包括钩子如何工作。 如果没有,那么我建议您先通过WordPress官方文档阅读这些主题,然后再继续:

为了测试每个示例的插件代码,您需要一个工作的WordPress网站。 最简单的方法是在本地安装WordPress,这样您就可以轻松访问编辑文件。

使用WordPress在本地进行开发有很多选择,包括:

如果您不熟悉WordPress开发,那么Local或DesktopServer可能是最容易设置的。 Local是免费使用的(它们具有高级版本),而DesktopServer具有有限(免费)版本和高级版本。

另外,建议您具有一些PHP和JavaScript的先前经验,以及一些实现Ajax请求的经验。 但是,所有内容都将在此过程中进行解释,因此不需要深入的知识。

仔细查看管理员声明

让我们看一下管理员通知的最基本实现以及呈现成功类型通知所需的代码。

function display_admin_notice() {
  ?>
  <div class="notice notice-success"><p>The secret to success is to know something nobody else knows ~ Aristotle Onassis</p></div>
  <?php
}
add_action( 'admin_notices', 'display_admin_notice' );
成功的管理员通知

我们在这里所做的只是注册display_admin_notice()函数,该函数将在admin_notices钩子触发时运行。 调用什么功能都没有关系-不会影响管理员通知的呈现方式。

不必担心现在就在自己上方输入代码; 只需关注管理员通知的生成方式,我们将在以后的教程中对此进行构建。

您可以使用任何喜欢的标记来显示管理员通知; 但是, 推荐的格式如下:

<div class="{class}"><p>{message}</p></div>

用CSS类名称列表替换{class} 。 您应包括课程notice再加上以下任一课程,以确定管理员通知的类型:

  • notice-error (红色)
  • notice-warning (黄色/橙色)
  • notice-success (绿色)
  • notice-info (蓝色)
各种管理员通知

{message}块可以是将在管理通知中显示的任何文本或有效HTML。

上面的示例在所有管理页面上都显示了管理通知,这并不总是理想的,因此在第二部分中,我们将研究如何精确控制它们出现在哪些页面上。

您可以将另一个内置CSS类添加到div.notice ,从而在管理员通知中添加一个关闭按钮。 让我们看看当同一成功管理员通知中添加了is-dismissible类时会发生什么。

function display_admin_notice() {
  ?>
  <div class="notice notice-success is-dismissible"><p>The secret to success is to know something nobody else knows ~ Aristotle Onassis</p></div>
  <?php
}
add_action( 'admin_notices', 'display_admin_notice' );
我们的第一个管理员通知

现在,我们有一种简单的方法来解除管理员通知。 但是,在您太兴奋之前,使用此方法就存在问题。 如果刷新页面,则将再次出现管理员通知! 因此,即使您可以将管理员通知设置为可撤消,但该通知是永久性的,并且页面加载之间的撤消状态也会被忘记。

稍后,我们将详细介绍持久的管理员通知,并探索各种可以在不重新出现的情况下将其删除的方法。

他们不是吗?

如果您完全熟悉WordPress中的管理员通知和/或大致了解WordPress新闻,那么您可能会意识到在自定义插件和主题中使用管理员通知会产生一定程度的负面影响。

这源于某些插件过度使用了管理员通知,以试图传达其“重要”消息。 如果您安装了很多插件,而其中只有少数插件滥用了管理员通知系统,那么您可以Swift得到管理员通知“汤”,在每个管理员页面的顶部都会显示一堆通知。

用不必要的通知超载管理屏幕会导致混乱(和头痛),并且对于用户来说是令人讨厌的,因为这会使管理网站更加困难。

理想情况下,每次页面加载时仅应显示重要的管理员通知,例如重要的安全更新。 如果您要显示全局管理员通知以告诉用户插件已更新,并提示您单击链接以获取更多信息,那么您应该真正问问自己是否需要在每个管理员页面上进行操作。

另外,一个典型的收藏夹是显示不重要的管理员通知,该通知不能轻易被永久性地驳回。 我保证您没有比这样做更容易的方法来疏远您的插件用户!

但是,存在一些不容忽视的永久性通知的用例,例如数据库更新。 使用自定义表的插件可能需要偶尔运行一次数据库更新例程,以保持插件正确运行。 因此,在这种情况下,添加不可撤销的管理员通知是合理的。

一个好的经验法则是运用常识。 管理员会通知您您将要添加到插件中的用户吗? 如果是这样,您可能想重新考虑添加该通知,或者考虑是否最好将其显示在其他位置。

结论

在本教程中,我们介绍了什么是管理员通知以及WordPress提供的各种内置类型,包括可废除的管理员通知。 如我们所见,默认设置的管理员通知存在一些缺陷,例如不能被拒绝以及它们在每个管理员页面上呈现的事实。

WordPress的经济非常活跃。 有主题,插件,库和许多其他产品可帮助您构建站点和项目。 该平台的开源特性也使其成为一个很好的选择,您可以从中提高自己的编程技能。 无论如何,您都可以看到我们提供的Envato Market

本系列的其余教程将重点介绍在您自己的插件和主题中使用时,如何扩展管理员通知,使其更加实用。

翻译自: https://code.tutsplus.com/tutorials/persisted-wordpress-admin-notices-part-1--cms-30134

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值