您需要将通知存储在数据库中,以便在重新加载页面上显示通知。有很多方法可以将通知存储在数据库中(我使用Persist Admin Notices 我的插件模板),但为了演示,我将使用一个简单的时间限制transient,
add_action( \'publish_vereine\', \'post_published_limit\' );
function post_published_limit() {
$max_posts = 1; // anzahl der maximalen Vereinseintragungen
$author = $post->vereinsmanager; // nur fuer vereinsmanager limitierung
$count = count_user_posts( $author, \'vereine\');
if ( $count > $max_posts ) {
// wenn mehr als 1, dann auf Entwurf setzen und Notiz für vereinsmanager ausgeben
$post = array(\'post_status\' => \'draft\');
wp_update_post( $post );
//store the transient notice to expire in 5 minutes.
set_transient(\'vereine_post_notice\', \'You can only publish 1 post at a time\', 5 * MINUTE_IN_SECONDS);
}
}
然后连接到管理通知流程,
add_action(\'admin_notices\', \'display_notice\');
function display_notice(){
$notice = get_transient(\'vereine_post_notice\');
if(!empty($notice)){
echo \'<p>\'.$notice.\'</p>\';
}
}