要删除编辑锁弹出窗口,您可以尝试:
add_filter( 'wp_check_post_lock_window', '__return_zero' );
我不确定这是否可行,但是我检查了来源,wp_check_post_lock()
然后有以下几行:
...cut...
$time_window = apply_filters( 'wp_check_post_lock_window', 120 );
if ( $time && $time > time() - $time_window && $user != get_current_user_id() )
return $user;
return false;
...cut...
所以想法是改变,$time_window
这样if
条件才是false
。
更新:
要将其应用到edit.php
屏幕上,请使用自定义帖子类型beer
,例如:
function wpse_120179()
{
if( 'beer' === get_current_screen()->post_type )
add_filter( 'wp_check_post_lock_window', '__return_zero' );
}
add_action( 'load-edit.php', 'wpse_120179' );
然后我们可以添加:
add_action( 'load-post.php', 'wpse_120179' );
同时将其删除post.php
。
更多挖掘...
该功能 _admin_notice_post_locked()
被定义只是下面的wp_set_post_lock()
功能。它包含以下几行:
...cut...
if ( ! apply_filters( 'show_post_locked_dialog', true, $post, $user ) )
return;
...cut...
所以也可以尝试使用show_post_locked_dialog
过滤器:
add_filter( 'show_post_locked_dialog', 'wpse_120179_close_dialog', 99, 3 );
function wpse_120179_close_dialog( $show, $post, $user )
{
if( 'beer' === $post->post_type )
return FALSE;
return $show;
}
post_lock
尽管如此,知道合适的钩子还是很高兴的。