wp_ajax_wp_remove_post_lock() WP 3.1.0
Ajax handler for removing a post lock.
Хуки из функции
Возвращает
Null. Ничего.
Использование
wp_ajax_wp_remove_post_lock();
Список изменений
С версии 3.1.0 | Введена. |
Код wp_ajax_wp_remove_post_lock() wp ajax wp remove post lock WP 5.6.2
function wp_ajax_wp_remove_post_lock() {
if ( empty( $_POST['post_ID'] ) || empty( $_POST['active_post_lock'] ) ) {
wp_die( 0 );
}
$post_id = (int) $_POST['post_ID'];
$post = get_post( $post_id );
if ( ! $post ) {
wp_die( 0 );
}
check_ajax_referer( 'update-post_' . $post_id );
if ( ! current_user_can( 'edit_post', $post_id ) ) {
wp_die( -1 );
}
$active_lock = array_map( 'absint', explode( ':', $_POST['active_post_lock'] ) );
if ( get_current_user_id() != $active_lock[1] ) {
wp_die( 0 );
}
/**
* Filters the post lock window duration.
*
* @since 3.3.0
*
* @param int $interval The interval in seconds the post lock duration
* should last, plus 5 seconds. Default 150.
*/
$new_lock = ( time() - apply_filters( 'wp_check_post_lock_window', 150 ) + 5 ) . ':' . $active_lock[1];
update_post_meta( $post_id, '_edit_lock', $new_lock, implode( ':', $active_lock ) );
wp_die( 1 );
}