wp_refresh_post_lock() WordPress Function
The wp_refresh_post_lock() function is used to refresh the post lock for a given post. This function will check the post_lock option for the given post and if it is expired, it will update the option with the new lock value.
wp_refresh_post_lock( array $response, array $data, string $screen_id ) #
Checks lock status on the New/Edit Post screen and refresh the lock.
Parameters
- $response
(array)(Required)The Heartbeat response.
- $data
(array)(Required)The $_POST data sent.
- $screen_id
(string)(Required)The screen ID.
Return
(array) The Heartbeat response.
Source
File: wp-admin/includes/misc.php
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( /* 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; }
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
Version | Description |
---|---|
3.6.0 | Introduced. |