Je peux utiliser wp_set_post_lock
pour verrouiller temporairement un message afin que je puisse le modifier.
Je peux utiliser wp_refresh_post_lock
pour actualiser ce verrou.
Je peux utiliser wp_check_post_lock
pour vérifier si un message est verrouillé.
... mais comment puis-je enlever le verrou post? Mon hypothèse serait qu'il existe une fonction appelée wp_remove_post_lock
ou wp_release_post_lock
, mais aucune de celles-ci ne semble exister.
Alors, comment puis-je enlever le post-lock? Je n'ai sûrement pas besoin d'attendre que ça expire, non?
Au premier abord, cela a du sens, mais ...
Quand exactement cette fonction serait-elle utilisée? Lorsque l'utilisateur ouvre l'éditeur de publication, vous pouvez facilement vous connecter à cette action et définir le verrou.
Mais quand l'enlèveriez-vous? Après avoir économisé? Non - l'utilisateur est toujours en train d'éditer, le verrou devrait donc être activé.
Il doit être supprimé une fois que l'utilisateur a fermé l'onglet ou l'éditeur - mais vous ne pouvez pas vous connecter à ces actions depuis PHP, car il n'y a pas PHP averti juste avant qu'elles se produisent ...
Donc, probablement, il n'y a pas de fonction pour enlever le verrou, parce que cela ne sert à rien en utilisation normale ...
Bien sûr, vous pouvez toujours facilement enlever ce verrou ...
Voyons ce qu'est exactement ce verrou et comment WP le définit:
function wp_set_post_lock( $post_id ) {
if ( ! $post = get_post( $post_id ) ) {
return false;
}
if ( 0 == ( $user_id = get_current_user_id() ) ) {
return false;
}
$now = time();
$lock = "$now:$user_id";
update_post_meta( $post->ID, '_edit_lock', $lock );
return array( $now, $user_id );
}
OK, donc il est stocké dans un fichier personnalisé appelé '_edit_lock', alors ... Supprimez simplement cette méta et le verrou sera supprimé.
delete_post_meta( $post_id, '_edit_lock')