检查该帖子当前是否正由其他用户编辑。

原型

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/