includes/Cache/class-bfcache.php
Bfcache for logged-in users — Instant Back/Forward.
Class Bfcache
Bfcache handler.
class BfcacheConstants
| Constant | Visibility | Value | Line |
|---|---|---|---|
SESSION_KEY | public | \'bfcache_session_token\' | 43 |
FILTER_ENABLED | public | \'wppo_bfcache_enabled\' | 51 |
SCRIPT_HANDLE | public | \'wppo-bfcache\' | 59 |
Properties
| Property | Visibility | Type | Default | Line |
|---|---|---|---|---|
$invalidation_script | private static | string | \'\' | 71 |
$script_staged | private static | bool | false | 82 |
publicstatic is_enabled()
public static function is_enabled(): boolWhether bfcache handling is enabled.
Return: bool — True when bfcache is enabled.
publicstatic get_cookie_name()
public static function get_cookie_name(): stringGet the cookie name for the bfcache session token.
Return: string — Cookie name.
publicstatic generate_token()
public static function generate_token(): stringGenerate a bfcache session token.
Return: string — Token (43 chars).
publicstatic get_user_token()
public static function get_user_token(?int=null $user_id): ?string$session_token=null):?stringGet the bfcache session token for a user/session. Parameter Type Default Description $user_id?int=null— User ID, defaults to current. $session_tokenstring|null— Session token, defaults to current.
Return: string|null — Token or null.
publicstatic attach_session_information()
public static function attach_session_information($session): arrayAttach bfcache session information on login. Parameter Type Default Description $sessionmixed— Session array.
Return: array — Session array.
privatestatic is_logged_in_cookie_secure()
private static function is_logged_in_cookie_secure(int $user_id): boolWhether the logged_in cookie should be secure (copied from core logic). Parameter Type Default Description $user_idint— User ID.
Return: bool.
publicstatic set_token_cookie()
public static function set_token_cookie(int $user_id, string $token, int $expire): voidSet the bfcache session token cookie. Parameter Type Default Description $user_idint— User ID. $tokenstring— Token. $expireint— Expiration timestamp.
Return: void.
publicstatic on_set_logged_in_cookie()
public static function on_set_logged_in_cookie(string $logged_in_cookie, int $expire, int $expiration, int $user_id, string $scheme, string $token): voidHook: set_logged_in_cookie — mirror the session token into a readable cookie. Parameter Type Default Description $logged_in_cookiestring— Cookie value (unused). $expireint— Expiration. $expirationint— Expiration. $user_idint— User ID. $schemestring— Scheme. $tokenstring— Session token.
Return: void.
publicstatic on_clear_auth_cookie()
public static function on_clear_auth_cookie(): voidHook: clear_auth_cookie — clear the bfcache session token cookie on logout.
Return: void.
publicstatic filter_nocache_headers()
public static function filter_nocache_headers($headers): arrayFilter nocache_headers to allow bfcache while preserving privacy. Parameter Type Default Description $headersmixed— Headers array.
Return: array — Headers.
publicstatic enqueue_scripts()
public static function enqueue_scripts(): voidEnqueue/print the bfcache invalidation script for authenticated pages.
Return: void.
publicstatic print_invalidation_script()
public static function print_invalidation_script(): voidPrint the staged bfcache invalidation script.
Return: void.
publicstatic reset_runtime_state()
public static function reset_runtime_state(): voidReset staged bfcache state for the next request.
Return: void.
publicstatic reset_state_for_tests()
public static function reset_state_for_tests(): voidReset staged bfcache state (tests / compatibility helper).
Return: void.
publicstatic init()
public static function init(): voidRegister hooks.
Return: void.