检查该帖子当前是否正由其他用户编辑。
原型
wp_check_post_lock( int $post_id )
参数
$post_id
(int)
(Required)
要检查编辑的帖子的ID。
返回值
(int|false)
带锁的用户的ID。如果帖子不存在则错误,帖子未锁定,具有锁定的用户不存在,或者帖子被当前用户锁定。
源文件
路径:wp-admin/includes/post.php
<?php
...
function wp_check_post_lock( $post_id ) {
if ( ! $post = get_post( $post_id ) ) {
return false;
}
if ( ! $lock = get_post_meta( $post->ID, '_edit_lock', true ) ) {
return false;
}
$lock = explode( ':', $lock );
$time = $lock[0];
$user = isset( $lock[1] ) ? $lock[1] : get_post_meta( $post->ID, '_edit_last', true );
if ( ! get_userdata( $user ) ) {
return false;
}
/** This filter is documented in wp-admin/includes/ajax-actions.php */
$time_window = apply_filters( 'wp_check_post_lock_window', 150 );
if ( $time && $time > time() - $time_window && $user != get_current_user_id() ) {
return $user;
}
return false;
}
...
?>
其他
英文文档:https://developer.wordpress.org/reference/functions/wp_check_post_lock/