Jetpack::unlink_user PHP Method

    public static function unlink_user($user_id = null)
    {
        if (!($tokens = Jetpack_Options::get_option('user_tokens'))) {
            return false;
        }
        $user_id = empty($user_id) ? get_current_user_id() : intval($user_id);
        if (Jetpack_Options::get_option('master_user') == $user_id) {
            return false;
        }
        if (!isset($tokens[$user_id])) {
            return false;
        }
        Jetpack::load_xml_rpc_client();
        $xml = new Jetpack_IXR_Client(compact('user_id'));
        $xml->query('jetpack.unlink_user', $user_id);
        unset($tokens[$user_id]);
        Jetpack_Options::update_option('user_tokens', $tokens);
        /**
         * Fires after the current user has been unlinked from WordPress.com.
         *
         * @since 4.1.0
         *
         * @param int $user_id The current user's ID.
         */
        do_action('jetpack_unlinked_user', $user_id);
        return true;
    }

Usage Example

Example #1
0
 /**
  * Disconnect Jetpack Blogs or Users
  *
  * ## OPTIONS
  *
  * blog: Disconnect the entire blog.
  *
  * user <user_identifier>: Disconnect a specific user from WordPress.com.
  *
  * Please note, the primary account that the blog is connected
  * to WordPress.com with cannot be disconnected without
  * disconnecting the entire blog.
  *
  * ## EXAMPLES
  *
  * wp jetpack disconnect blog
  * wp jetpack disconnect user 13
  * wp jetpack disconnect user username
  * wp jetpack disconnect user [email protected]
  *
  * @synopsis <blog|user> [<user_identifier>]
  */
 public function disconnect($args, $assoc_args)
 {
     if (!Jetpack::is_active()) {
         WP_CLI::error(__('You cannot disconnect, without having first connected.', 'jetpack'));
     }
     $action = isset($args[0]) ? $args[0] : 'prompt';
     if (!in_array($action, array('blog', 'user', 'prompt'))) {
         WP_CLI::error(sprintf(__('%s is not a valid command.', 'jetpack'), $action));
     }
     if (in_array($action, array('user'))) {
         if (isset($args[1])) {
             $user_id = $args[1];
             if (ctype_digit($user_id)) {
                 $field = 'id';
                 $user_id = (int) $user_id;
             } elseif (is_email($user_id)) {
                 $field = 'email';
                 $user_id = sanitize_user($user_id, true);
             } else {
                 $field = 'login';
                 $user_id = sanitize_user($user_id, true);
             }
             if (!($user = get_user_by($field, $user_id))) {
                 WP_CLI::error(__('Please specify a valid user.', 'jetpack'));
             }
         } else {
             WP_CLI::error(__('Please specify a user by either ID, username, or email.', 'jetpack'));
         }
     }
     switch ($action) {
         case 'blog':
             Jetpack::log('disconnect');
             Jetpack::disconnect();
             WP_CLI::success(__('Jetpack has been successfully disconnected.', 'jetpack'));
             break;
         case 'user':
             if (Jetpack::unlink_user($user->ID)) {
                 Jetpack::log('unlink', $user->ID);
                 WP_CLI::success(sprintf(__('%s has been successfully disconnected.', 'jetpack'), $action));
             } else {
                 WP_CLI::error(sprintf(__('%s could not be disconnected.  Are you sure they\'re connected currently?', 'jetpack'), "{$user->login} <{$user->email}>"));
             }
             break;
         case 'prompt':
             WP_CLI::error(__('Please specify if you would like to disconnect a blog or user.', 'jetpack'));
             break;
     }
 }
All Usage Examples Of Jetpack::unlink_user
Jetpack