Ich kann wp_set_post_lock
verwenden, um einen Beitrag vorübergehend zu sperren, sodass nur ich ihn bearbeiten kann.
Ich kann wp_refresh_post_lock
verwenden, um diese Sperre zu aktualisieren.
Ich kann mit wp_check_post_lock
prüfen, ob ein Beitrag gesperrt ist.
... aber wie kann ich die Pfostensperre entfernen? Ich gehe davon aus, dass es eine Funktion namens wp_remove_post_lock
oder wp_release_post_lock
gibt, aber keine davon scheint zu existieren.
Wie kann ich die Pfostensperre entfernen? Ich muss doch nicht warten, bis die Zeit abgelaufen ist, oder?
Auf den ersten Blick macht es Sinn, aber ...
Wann genau würde diese Funktion verwendet werden? Wenn der Benutzer den Post-Editor öffnet, können Sie sich einfach an diese Aktion anschließen und die Sperre setzen.
Aber wann würden Sie es entfernen? Nach dem Speichern? Nein - Benutzer bearbeitet noch, daher sollte die Sperre aktiviert sein.
Es sollte entfernt werden, nachdem der Benutzer den Tab geschlossen oder den Editor geschlossen hat. Sie können sich jedoch nicht an diese Aktionen von PHP aus binden, da PHP erst benachrichtigt wird, wenn sie eintreten ...
Es gibt also höchstwahrscheinlich keine Funktion zum Entfernen der Sperre, da diese im normalen Gebrauch nicht verwendet werden kann ...
Natürlich können Sie solche Schlösser trotzdem leicht entfernen ...
Schauen wir uns an, was genau diese Sperre ist und wie WP sie setzt:
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, es wird als benutzerdefiniertes Archiv mit dem Namen "_edit_lock" gespeichert. Entfernen Sie einfach dieses Meta und die Sperre wird entfernt.
delete_post_meta( $post_id, '_edit_lock')