【问题标题】:Intercept WordPress Admin Dashboard for Alerts拦截 WordPress 管理员仪表板以获取警报
【发布时间】:2011-01-23 22:23:56
【问题描述】:

如何让插件向右上角的仪表板发送警报,那里通常会出现 WordPress 升级通知?

我想我需要在插件代码中调用某种 add_filter() 或 add_action()。

【问题讨论】:

    标签: plugins wordpress dashboard add-filter


    【解决方案1】:

    在主题的functions.php 或插件中插入以下代码。这是一个您可以适应并进一步采用的示例。在这个演示中,我想演示您可以在哪里发布消息说用户需要更新插件。

    <? function addDashboardAlert() { ?>
    <style type="text/css">
    .alert {
    padding-top:4px;
    padding-bottom:6px;
    padding-left:302px;
    background-color:#ebfbff;
    border-bottom:1px solid #CCC;
    display:none;
    }
    </style>
    <script type="text/javascript">
    $j = jQuery;
    $j().ready(function(){ //when page has fully loaded
      $j('h2:contains("Dashboard")').parent().prev().after('<div id="my-plugin-alert" class="alert">X Plugin 2.0 is available. <a href="">Upgrade Now!</a></div>');
      setTimeout("$j('#my-plugin-alert').fadeIn('slow');clearTimeout();",1000);
    });
    </script>
    <? } add_action('admin_head','addDashboardAlert'); ?>
    

    首先,它拦截 admin_head 以插入一些 Javascript。在 Javascript 中,因为我们知道当前的 WordPress 包含 jQuery,但使用 .noConflict() 选项加载它,所以我们可以将 jQuery 分配给 $j 以在我们的代码中保持简短。当页面完全加载后,它会查找包含“Dashboard”的 H2,即 Dashboard 页面。然后它会稍微向上遍历 DOM 到一个不错的插槽,它可以在其中插入警报,然后在那里添加一个。它以专业的 fadeIn() 调用结束。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-27
      • 2018-06-18
      • 2020-07-17
      • 2015-10-13
      • 1970-01-01
      • 2017-05-11
      • 1970-01-01
      • 2013-11-07
      相关资源
      最近更新 更多