Konfigurieren des Ablaufs von WordPress Auth Cookie

Ich versuche, die Ablaufzeit des WordPress-Cookies zu konfigurieren, aber aus irgendeinem Grund funktioniert es nicht. Ich ging hierhin:

auth_cookie_expiration

Und setzen Sie den folgenden Hook basierend auf dem Dokument:

function init() { // ... $expiration = 60; apply_filters( 'auth_cookie_expiration', $expiration ); } 

Dieser Code wird von einem Hook im Konstruktor meines Plugins aufgerufen:

 add_action( 'init', array( $this, 'init' ) ); 

Und ich habe bestätigt, dass es läuft.

Ich erwartete, dass dies einen Cookie erzeugt, der in 60 Sekunden abläuft, aber nicht. Stattdessen legt es eine reguläre Ablaufzeit von 48 Stunden fest (WP-Standard). Ich vermute, dies könnte daran liegen, dass der Benutzer sich nicht anmeldet, wenn er sich tatsächlich anmeldet, und dieses Verhalten später nicht mehr ausgeführt wird. Ich habe noch nicht herausgefunden, wie es funktioniert. Jede Hilfe wird geschätzt.

Solutions Collecting From Web of "Konfigurieren des Ablaufs von WordPress Auth Cookie"

Beachten Sie, dass Sie keinen Filterrückruf hinzufügen mit:

 apply_filters( 'auth_cookie_expiration', $expiration ); 

Verwenden Sie stattdessen:

 add_filter( 'auth_cookie_expiration', $callback, 10, 3 ); 

$callback der geeignete Filter Callback ist, der den Ablauf modifiziert.

Hier ist ein Beispiel

 add_filter( 'auth_cookie_expiration', function( $length, $user_id, $remember ) { return $length; // adjust this to your needs. }, 10, 3 ); 

oder passend zu deiner aktuellen classneinstellung:

 add_filter( 'auth_cookie_expiration', [ $this, 'set_auth_cookie_expiration' ], 10, 3 ); 

wo set_auth_cookie_expiration() die geeignete Methode ist, zB:

 public function set_auth_cookie_expiration ( $length, $user_id, $remember ) { return $length; // adjust this to your needs. }