多亏了道格拉斯。塞萨尔为我指出了正确的方向。非常感谢!这就是我所做的。。。
首先将以下id放在插件的标题中。我直接在这个标题后面添加管理消息html(通过jQuery)。
<h1 id="my-admin-message">My Plugin Title</h1>
我的jQuery函数:
function fnDisplayAdminMessage(adminMessage, adminMessageColor) {
jQuery.ajax({
type: \'POST\',
url: myAjax.ajaxurl,
success: function(response) {
jQuery(\'#my-admin-message\').after(\'<div class="error notice is-dismissible"><p>\' + adminMessage + \'</p><button id="my-dismiss-admin-message" class="notice-dismiss" type="button"><span class="screen-reader-text">Dismiss this notice.</span></button></div>\');
jQuery("#my-dismiss-admin-message").click(function(event) {
event.preventDefault();
jQuery(\'.\' + \'error\').fadeTo(100, 0, function() {
jQuery(\'.\' + \'error\').slideUp(100, function() {
jQuery(\'.\' + \'error\').remove();
});
});
});
switch (adminMessageColor) {
case \'yellow\':
jQuery("div.error").css("border-left", "4px solid #ffba00");
break;
case \'red\':
jQuery("div.error").css("border-left", "4px solid #dd3d36");
break;
default:
jQuery("div.error").css("border-left", "4px solid #7ad03a");
}
}
});
}
我的电话:
fnDisplayAdminMessage(\'There was an error.\', \'red\');
我做到了,所以我总是使用“错误”管理通知,只是更改颜色。
最后,删除消息的函数:
function fnRemoveAdminMessage() {
// check if there is an admin message displayed, if so then remove it
if (jQuery("div.error").length) {
jQuery("div.error").fadeTo(100, 0, function() {
jQuery("div.error").slideUp(100, function() {
jQuery("div.error").remove();
});
});
}
}
我希望其他人会觉得这很有用。