Uma área de pesquisa sobre o WordPress para devs e autores do tema



wp_refresh_post_lock ›

Desde3.6.0
Obsoleton/a
wp_refresh_post_lock ( $response, $data, $screen_id )
Parâmetros: (3)
  • (array) $response The Heartbeat response.
    Required: Yes
  • (array) $data The $_POST data sent.
    Required: Yes
  • (string) $screen_id The screen id.
    Required: Yes
Retorna:
  • (array) The Heartbeat response.
Definido em:
Codex:

Check lock status on the New/Edit Post screen and refresh the lock



Fonte

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();

		if ( ! $post_id = absint( $received['post_id'] ) )
			return $response;

		if ( ! current_user_can('edit_post', $post_id) )
			return $response;

		if ( ( $user_id = wp_check_post_lock( $post_id ) ) && ( $user = get_userdata( $user_id ) ) ) {
			$error = array(
				'text' => sprintf( __( '%s has taken over and is currently editing.' ), $user->display_name )
			);

			if ( $avatar = get_avatar( $user->ID, 64 ) ) {
				if ( preg_match( "|src='([^']+)'|", $avatar, $matches ) )
					$error['avatar_src'] = $matches[1];
			}

			$send['lock_error'] = $error;
		} else {
			if ( $new_lock = wp_set_post_lock( $post_id ) )
				$send['new_lock'] = implode( ':', $new_lock );
		}

		$response['wp-refresh-post-lock'] = $send;
	}

	return $response;
}