這裏有幾件事你需要做。首先,register_activation_hook()
function用於鉤入您的插件的激活。並且admin_notices
action用於在管理區域內添加通知(您不能在任何地方打印通知)。
但是,還有一個額外的複雜因素,因爲您在不能在插件激活時使用admin_notices
操作。這是因爲WordPress不會'激活'你的插件 - 它會在後臺激活它並禁止輸出,以便在完成激活之前確保它不會觸發任何致命錯誤。
幸運的是,this blog post概述了這個問題的一個解決方案。該帖子的作者建議使用transients來保存你的插件的'狀態',以便一旦它被激活就可以恢復。
由於該博客擁有像本網站這樣的CC-BY-SA許可證,因此我會將代碼複製到此處以便繼續使用。我略微壓縮了它,以保持這篇文章的長度,但你可以通過view the whole blog post獲得完整的解決方案。我也測試過這個以確保它仍然可以正常工作 - 並且它在我安裝WordPress 4.5.3的時候也能夠正常工作。
register_activation_hook(__FILE__, 'fx_admin_notice_example_activation_hook');
function fx_admin_notice_example_activation_hook() {
set_transient('fx-admin-notice-example', true, 5);
}
add_action('admin_notices', 'fx_admin_notice_example_notice');
function fx_admin_notice_example_notice(){
/* Check transient, if available display notice */
if(get_transient('fx-admin-notice-example')){
?>
<div class="updated notice is-dismissible">
<p>Thank you for using this plugin! <strong>You are awesome</strong>.</p>
</div>
<?php
/* Delete transient, only display this notice once. */
delete_transient('fx-admin-notice-example');
}
}
您是否試圖在正確的地方稱它? – SHR