我找到一根旧线,How to stop showing admin notice after close button has been clicked, 与您的问题相关。
我认为公认答案的b)方法可以适用于你的情况。
b、 保留解雇通知的历史记录,以及您自己的解雇行动:
function my_plugin_notice() {
$user_id = get_current_user_id();
if ( !get_user_meta( $user_id, \'my_plugin_notice_dismissed\' ) )
echo \'<div class="notice"><p>\' . _e( \'Imagine something here!\', \'sample-text-domain\' ) . \'</p><a href="?my-plugin-dismissed">Dismiss</a></div>\';
}
add_action( \'admin_notices\', \'my_plugin_notice\' );
function my_plugin_notice_dismissed() {
$user_id = get_current_user_id();
if ( isset( $_GET[\'my-plugin-dismissed\'] ) )
add_user_meta( $user_id, \'my_plugin_notice_dismissed\', \'true\', true );
}
add_action( \'admin_init\', \'my_plugin_notice_dismissed\' );
所以你会把
<a href="?my-plugin-dismissed">Dismiss</a>
切换到您的模式,以允许用户关闭/关闭视频模式。
建议的解决方案使用$_GET
检测通知是否已被驳回,并将其保存到用户meta。另一种检测和保存解雇的方法是使用(普通的)js或jquery click事件(在关闭按钮/链接上)和Ajax将解雇保存到当前用户的元。