diff --git a/includes/class-magic-link.php b/includes/class-magic-link.php index 30dec993a..80036eb18 100644 --- a/includes/class-magic-link.php +++ b/includes/class-magic-link.php @@ -71,6 +71,7 @@ public static function init() { /** Replace Newspack Newsletters Verification Email */ \add_filter( 'newspack_newsletters_email_verification_email', [ __CLASS__, 'newsletters_email_verification_email' ], 10, 3 ); + \add_action( 'wp_logout', [ __CLASS__, 'clear_user_tokens' ], 10, 1 ); } /** @@ -265,10 +266,11 @@ private static function get_client_hash( $user, $reset_secret = false ) { /** * Clear all user tokens. * - * @param \WP_User $user User to clear tokens for. + * @param \WP_User|int $user User or user ID to clear tokens for. */ public static function clear_user_tokens( $user ) { - \delete_user_meta( $user->ID, self::TOKENS_META ); + $user_id = $user instanceof \WP_User ? $user->ID : $user; + \delete_user_meta( $user_id, self::TOKENS_META ); /** * Fires after all user tokens are cleared.