如何将admin_notices添加到wordpress自定义菜单页面

时间:2018-05-23 13:54:34

标签: wordpress

我正在尝试创建一个插件,并在CUSTOM MENU页面上使用了以下简单的代码行。

            <div id="message" class="updated below-h2 notice is-dismissible">
            <p><?php echo $message_string; ?></p>
            <button type="button" class="notice-dismiss"><span class="screen-reader-text">Dismiss this notice.</span></button>
        </div>

在这种情况下,当我点击按钮时,它没有附加的点击处理程序,就像设置一样 - >常规设置有保存。

然后我使用了这个功能。

    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' );

这是做什么的,它是在所有屏幕上显示管理员通知,并且有以下情况。

  1. 我的自定义菜单页面“ADMIN NOTICE”没有点击处理程序。

  2. 所有其他页面都有一个自定义事件处理程序,它可以点击。

  3. 我在网上得到的信息很少,管理员通知只会加载到默认的wordpress菜单上。

    但是我遇到了一个大小的插件,它使用相同的代码行来显示可用的可点击管理员通知。

    有人能提出什么建议吗?

1 个答案:

答案 0 :(得分:0)

我从我的问题中得到了解决方案。在您的网站上使用管理员通知时遇到问题的人可能会遇到此问题。

我取消了jquery句柄并将我自己的jquery排队,但使用了句柄 jquery-latest 。为了加载依赖于jquery的功能。 Wordpress搜索句柄jquery。因此,请确保使用相同的句柄来加载jquery。

正确的方式。

wp_deregister_script('jquery');
wp_enqueue_script('jquery',  plugins_url( '/assets/js/jquery-3.3.1.min.js',__FILE__ ), array(), '4.1.1', false);

错误的方式

wp_deregister_script('jquery');
wp_enqueue_script('jquery-latest',  plugins_url( '/assets/js/jquery-3.3.1.min.js',__FILE__ ), array(), '4.1.1', false);