wp_refresh_post_lock( array $response, array $data, string $screen_id ): array

In this article

Checks lock status on the New/Edit Post screen and refresh the lock.

Parameters

$responsearrayrequired
The Heartbeat response.
$dataarrayrequired
The $_POST data sent.
$screen_idstringrequired
The screen ID.

Return

array The Heartbeat response.

Source

function wp_refresh_post_lock( $response, $data, $screen_id ) {	if ( array_key_exists( 'wp-refresh-post-lock', $data ) ) {	$received = $data['wp-refresh-post-lock'];	$send = array();	$post_id = absint( $received['post_id'] );	if ( ! $post_id ) {	return $response;	}	if ( ! current_user_can( 'edit_post', $post_id ) ) {	return $response;	}	$user_id = wp_check_post_lock( $post_id );	$user = get_userdata( $user_id );	if ( $user ) {	$error = array(	'name' => $user->display_name,	/* translators: %s: User's display name. */	'text' => sprintf( __( '%s has taken over and is currently editing.' ), $user->display_name ),	);	if ( get_option( 'show_avatars' ) ) {	$error['avatar_src'] = get_avatar_url( $user->ID, array( 'size' => 64 ) );	$error['avatar_src_2x'] = get_avatar_url( $user->ID, array( 'size' => 128 ) );	}	$send['lock_error'] = $error;	} else {	$new_lock = wp_set_post_lock( $post_id );	if ( $new_lock ) {	$send['new_lock'] = implode( ':', $new_lock );	}	}	$response['wp-refresh-post-lock'] = $send;	}	return $response; } 

Changelog

VersionDescription
3.6.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.