代码之家  ›  专栏  ›  技术社区  ›  Volomike nbk

拦截WordPress管理仪表板以获取警报

  •  0
  • Volomike nbk  · 技术社区  · 15 年前

    如何让一个插件向位于右上角的仪表板发送警报,WordPress升级通知通常会出现在该仪表板上?

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

    1 回复  |  直到 14 年前
        1
  •  0
  •   Volomike nbk    15 年前

    在主题的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'); ?>
    

    首先,它截取管理员头来插入一些javascript。在javascript中,因为我们知道当前的wordpress包含jquery,但使用.noconflict()选项加载它,所以我们可以将jquery分配给$j,以使其在代码中保持简短。当页面完全加载后,它将查找包含“Dashboard”的H2,即仪表板页面。然后,它向上遍历一点DOM到一个很好的槽,在那里它可以插入警报,然后在那里添加一个。最后是一个专业的fadein()调用。