# jetpack/16.2/uninstall.php

Jetpack – WP Security, Backup, Speed, &amp; Growth, version 16.2. 64 lines.

- Page: https://pluginprobe.com/plugins/jetpack/16.2/code/uninstall.php
- Raw: https://pluginprobe.com/plugins/jetpack/16.2/raw/uninstall.php
- Modified: 2026-06-25T11:57:08+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/jetpack/16.2/code/uninstall.php#L10-L20`.

```php
<?php
/**
 * Functionality that is executed when Jetpack is uninstalled via built-in WordPress commands.
 *
 * @package automattic/jetpack
 */

use Automattic\Jetpack\Backup\V0005\Helper_Script_Manager;
use Automattic\Jetpack\Connection\Manager as Connection_Manager;
use Automattic\Jetpack\Sync\Sender;

if ( ! defined( 'ABSPATH' ) ) {
	exit( 0 );
}

/**
 * Uninstall script for Jetpack.
 */
function jetpack_uninstall() {
	if (
		! defined( 'WP_UNINSTALL_PLUGIN' ) ||
		! WP_UNINSTALL_PLUGIN ||
		// @phan-suppress-next-line PhanTypeMismatchArgumentInternal -- If it's defined, it's a string: https://developer.wordpress.org/plugins/plugin-basics/uninstall-methods/#method-2-uninstall-php
		dirname( WP_UNINSTALL_PLUGIN ) !== dirname( plugin_basename( __FILE__ ) )
	) {
		status_header( 404 );
		exit( 0 );
	}

	if ( ! defined( 'JETPACK__PLUGIN_DIR' ) ) {
		define( 'JETPACK__PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
	}

	require JETPACK__PLUGIN_DIR . 'vendor/autoload_packages.php';

	if ( method_exists( Connection_Manager::class, 'is_ready_for_cleanup' ) && ! Connection_Manager::is_ready_for_cleanup( dirname( plugin_basename( __FILE__ ) ) ) ) {
		// There are other active Jetpack plugins, no need for cleanup.
		return;
	}

	Jetpack_Options::delete_all_known_options();

	// Delete all legacy options.
	delete_option( 'jetpack_was_activated' );
	delete_option( 'jetpack_auto_installed' );
	delete_option( 'jetpack_register' );
	delete_transient( 'jetpack_register' );

	// Delete sync options
	//
	// Do not initialize any listeners.
	// Since all the files will be deleted.
	// No need to try to sync anything.
	add_filter( 'jetpack_sync_modules', '__return_empty_array', 100 );

	// Jetpack Sync.
	Sender::get_instance()->uninstall();

	// Jetpack Backup: Cleanup any leftover Helper Scripts.
	Helper_Script_Manager::delete_all_helper_scripts();
}

jetpack_uninstall();

```
