首页 > 解决方案 > Wordpress 管理区域,添加固定弹出窗口的最佳操作

问题描述

我正在研究与 Wordpress 管理区域挂钩的最佳操作,以便基本上添加一个固定位置块,该块固定在每个管理页面的屏幕右侧。

这样做的目的是在单击时提供一个弹出窗口,其中将列出一些短代码/可用选项。代码将被添加到插件中。

我看了看,可以看到以下是可能性,但哪一个最适合我想要的结果?

我相信如果它解释了用于在所有页面上显示的一般操作,那么这个问题的答案将被最好地接受。以及可能导致异常的情况(我认为常见的用法是 admin_notices 但这可能是一个异常?)。

标签: wordpresswordpress-admin

解决方案


您在答案中列出钩子的可能性是正确的,但是,它们确实都有“标准”用例,其中一个比另一个更适合使用。请参阅以下内容:

行动: admin_notices

的操作admin_notices直接引用管理页面主要内容上方的 html 部分。例如页面/帖子编辑器上的标题框上方。

由于 HTML 的位置,您可以实现的样式会受到限制,因为周围的<div>元素可能会导致绝对定位和固定定位的问题。

保留此操作以仅显示插件/主题相关通知也是“行业标准”,因此名称为 admin_notices。诸如新的 Wordpress 更新、插件配置通知,甚至是激活后主题/插件的有用提示/说明等内容。

行动: admin_footer

您可能希望使用该admin_footer动作,因为它允许更多的样式自由度,因为它<div>周围的限制元素较少。

admin_footer动作也不是为任何特别不同于admin_notices. 因此将更适合您的目的,因为您的添加不是通知,而是更多的永久功能,而通知往往是临时的。

附加信息

现在您已经为您的函数选择了适当的操作,您可能需要加载 CSS 文件和可能的 JS 文件来设置固定弹出窗口的样式。

为此,您需要使用该admin_enqueue_scripts操作(此处有更多信息)。

您还可以通过检查您所在的当前屏幕并根据返回值限制外观来限制固定弹出窗口的外观。见下文:

$current_screen = get_current_screen();
if ( $current_screen->post_type == '' || $current_screen->base != 'post' ) {
    return 'html';
}

推荐阅读