Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 6
0.00% covered (danger)
0.00%
0 / 1
CRAP
n/a
0 / 0
logout_atomic_user_from_wpcom
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 1
20
1<?php
2/**
3 * Logout customizations for WordPress.com.
4 *
5 * @package automattic/jetpack-mu-wpcom
6 */
7
8use Automattic\Jetpack\Connection\Manager as Connection_Manager;
9
10/**
11 * Log out Atomic WordPress.com users from WPCOM when they logout from a local site.
12 */
13function logout_atomic_user_from_wpcom() {
14    $connection_manager = new Connection_Manager();
15    $wpcom_user_data    = $connection_manager->get_connected_user_data( get_current_user_id() );
16    $has_wpcom_account  = isset( $wpcom_user_data['ID'] );
17
18    if ( $has_wpcom_account && defined( 'IS_ATOMIC' ) && IS_ATOMIC ) {
19        // In some circustances get_current_user_id() returns the local user ID.
20        // The $wpcom_user_data['ID'] is always the WordPress.com user ID.
21        do_action( 'wp_masterbar_logout', $wpcom_user_data['ID'] );
22    }
23}
24add_action( 'clear_auth_cookie', 'logout_atomic_user_from_wpcom' );