at path:
ROOT
/
wp-content
/
plugins
/
jetpack
/
functions.compat.php
run:
R
W
Run
3rd-party
DIR
2026-04-17 06:07:54
R
W
Run
_inc
DIR
2026-04-17 06:07:56
R
W
Run
css
DIR
2026-04-17 06:07:54
R
W
Run
extensions
DIR
2026-04-17 06:07:53
R
W
Run
images
DIR
2026-04-17 06:07:55
R
W
Run
jetpack_vendor
DIR
2026-04-17 06:07:58
R
W
Run
json-endpoints
DIR
2026-04-17 06:07:59
R
W
Run
modules
DIR
2026-04-17 06:07:59
R
W
Run
sal
DIR
2026-04-17 06:07:59
R
W
Run
src
DIR
2026-04-17 06:07:59
R
W
Run
vendor
DIR
2026-04-17 06:07:59
R
W
Run
views
DIR
2026-04-17 06:07:54
R
W
Run
CHANGELOG.md
766.64 KB
2026-04-17 06:07:54
R
W
Run
Delete
Rename
LICENSE.txt
18.2 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
SECURITY.md
2.45 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
class-jetpack-connection-status.php
728 By
2026-04-17 06:07:54
R
W
Run
Delete
Rename
class-jetpack-gallery-settings.php
3.47 KB
2026-04-17 06:07:54
R
W
Run
Delete
Rename
class-jetpack-newsletter-dashboard-widget.php
436 By
2026-04-17 06:07:54
R
W
Run
Delete
Rename
class-jetpack-pre-connection-jitms.php
2.34 KB
2026-04-17 06:07:54
R
W
Run
Delete
Rename
class-jetpack-stats-dashboard-widget.php
7.46 KB
2026-04-17 06:07:54
R
W
Run
Delete
Rename
class-jetpack-xmlrpc-methods.php
7.38 KB
2026-04-17 06:07:54
R
W
Run
Delete
Rename
class.frame-nonce-preview.php
3.22 KB
2026-04-17 06:07:54
R
W
Run
Delete
Rename
class.jetpack-admin.php
21.09 KB
2026-04-17 06:07:54
R
W
Run
Delete
Rename
class.jetpack-autoupdate.php
9.93 KB
2026-04-17 06:07:54
R
W
Run
Delete
Rename
class.jetpack-cli.php
74.32 KB
2026-04-17 06:07:54
R
W
Run
Delete
Rename
class.jetpack-client-server.php
2.62 KB
2026-04-17 06:07:54
R
W
Run
Delete
Rename
class.jetpack-gutenberg.php
45.32 KB
2026-04-17 06:07:54
R
W
Run
Delete
Rename
class.jetpack-heartbeat.php
4.44 KB
2026-04-17 06:07:54
R
W
Run
Delete
Rename
class.jetpack-modules-list-table.php
14.81 KB
2026-04-17 06:07:54
R
W
Run
Delete
Rename
class.jetpack-network-sites-list-table.php
6.03 KB
2026-04-17 06:07:54
R
W
Run
Delete
Rename
class.jetpack-network.php
22.19 KB
2026-04-17 06:07:54
R
W
Run
Delete
Rename
class.jetpack-plan.php
4.09 KB
2026-04-17 06:07:54
R
W
Run
Delete
Rename
class.jetpack-post-images.php
11.72 KB
2026-04-17 06:07:54
R
W
Run
Delete
Rename
class.jetpack-twitter-cards.php
5.69 KB
2026-04-17 06:07:54
R
W
Run
Delete
Rename
class.jetpack-user-agent.php
25.3 KB
2026-04-17 06:07:54
R
W
Run
Delete
Rename
class.jetpack.php
204.86 KB
2026-04-17 06:07:54
R
W
Run
Delete
Rename
class.json-api-endpoints.php
91.36 KB
2026-04-17 06:07:54
R
W
Run
Delete
Rename
class.json-api.php
38.3 KB
2026-04-17 06:07:54
R
W
Run
Delete
Rename
class.photon.php
1.74 KB
2026-04-17 06:07:54
R
W
Run
Delete
Rename
composer.json
4.25 KB
2026-04-17 06:07:54
R
W
Run
Delete
Rename
enhanced-open-graph.php
4.71 KB
2026-04-17 06:07:54
R
W
Run
Delete
Rename
functions.compat.php
4.34 KB
2026-04-17 06:07:55
R
W
Run
Delete
Rename
functions.cookies.php
2.04 KB
2026-04-17 06:07:55
R
W
Run
Delete
Rename
functions.global.php
13.91 KB
2026-04-17 06:07:55
R
W
Run
Delete
Rename
functions.is-mobile.php
2.47 KB
2026-04-17 06:07:55
R
W
Run
Delete
Rename
functions.opengraph.php
30.99 KB
2026-04-17 06:07:55
R
W
Run
Delete
Rename
functions.photon.php
3.04 KB
2026-04-17 06:07:55
R
W
Run
Delete
Rename
jetpack.php
8.92 KB
2026-04-17 06:07:56
R
W
Run
Delete
Rename
json-api-config.php
338 By
2026-04-17 06:07:58
R
W
Run
Delete
Rename
json-endpoints.php
6.92 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
load-jetpack.php
3.69 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
locales.php
371 By
2026-04-17 06:07:59
R
W
Run
Delete
Rename
readme.txt
33.15 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
unauth-file-upload.php
5.85 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
uninstall.php
1.65 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
wpml-config.xml
1.26 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
error_log
up
📄
functions.compat.php
Save
<?php // phpcs:ignore WordPress.Files.FileName.NotHyphenatedLowercase /** * Compatibility functions for YouTube URLs and WP.com helper functions. * * @package automattic/jetpack */ use Automattic\Jetpack\Connection\Manager as Connection_Manager; /** * Required for class.media-extractor.php to match expected function naming convention. * * @param string|array $url Can be just the $url or the whole $atts array. * @return bool|mixed The Youtube video ID via jetpack_get_youtube_id */ function jetpack_shortcode_get_youtube_id( $url ) { return jetpack_get_youtube_id( $url ); } /** * Extract video ID from a YouTube url. * * @param string|array $url YouTube URL. * @return bool|mixed The Youtube video ID */ function jetpack_get_youtube_id( $url ) { // Do we have an $atts array? Get first att if ( is_array( $url ) ) { $url = reset( $url ); } $url = jetpack_youtube_sanitize_url( $url ); $url = wp_parse_url( $url ); $id = false; if ( ! isset( $url['query'] ) ) { return false; } parse_str( $url['query'], $qargs ); if ( ! isset( $qargs['v'] ) && ! isset( $qargs['list'] ) ) { return false; } if ( isset( $qargs['list'] ) ) { $id = preg_replace( '|[^_a-z0-9-]|i', '', $qargs['list'] ); } if ( empty( $id ) ) { $id = preg_replace( '|[^_a-z0-9-]|i', '', $qargs['v'] ); } return $id; } if ( ! function_exists( 'jetpack_youtube_sanitize_url' ) ) : /** * Normalizes a YouTube URL to include a v= parameter and a query string free of encoded ampersands. * * @param string|array $url YouTube URL. * @return string|false The normalized URL or false if input is invalid. */ function jetpack_youtube_sanitize_url( $url ) { if ( is_array( $url ) && isset( $url['url'] ) ) { $url = $url['url']; } if ( ! is_string( $url ) ) { return false; } $url = trim( $url, ' "' ); $url = trim( $url ); $url = str_replace( array( 'youtu.be/', '/v/', '/shorts/', '#!v=', '&', '&', 'playlist' ), array( 'youtu.be/?v=', '/?v=', '/watch?v=', '?v=', '&', '&', 'videoseries' ), $url ); // Replace any extra question marks with ampersands - the result of a URL like "https://www.youtube.com/v/dQw4w9WgXcQ?fs=1&hl=en_US" being passed in. $query_string_start = strpos( $url, '?' ); if ( false !== $query_string_start ) { $url = substr( $url, 0, $query_string_start + 1 ) . str_replace( '?', '&', substr( $url, $query_string_start + 1 ) ); } return $url; } endif; /** * Merge in three string helper functions from WPCOM to make working with strings easier. * * @see WPCOM/wp-content/mu-plugins/string-helpers.php */ if ( ! function_exists( 'wp_startswith' ) ) : /** * Check whether a string starts with a specific substring. * * @param string $haystack String we are filtering. * @param string $needle The substring we are looking for. * @return bool */ function wp_startswith( $haystack, $needle ) { if ( ! $haystack || ! $needle || ! is_scalar( $haystack ) || ! is_scalar( $needle ) ) { return false; } $haystack = (string) $haystack; $needle = (string) $needle; return str_starts_with( $haystack, $needle ); } endif; if ( ! function_exists( 'wp_endswith' ) ) : /** * Check whether a string ends with a specific substring. * * @param string $haystack String we are filtering. * @param string $needle The substring we are looking for. * @return bool */ function wp_endswith( $haystack, $needle ) { if ( ! $haystack || ! $needle || ! is_scalar( $haystack ) || ! is_scalar( $needle ) ) { return false; } $haystack = (string) $haystack; $needle = (string) $needle; return str_ends_with( $haystack, $needle ); } endif; if ( ! function_exists( 'wp_in' ) ) : /** * Checks whether a string contains a specific substring. * * @param string $needle The substring we are looking for. * @param string $haystack String we are filtering. * @return bool */ function wp_in( $needle, $haystack ) { if ( ! $haystack || ! $needle || ! is_scalar( $haystack ) || ! is_scalar( $needle ) ) { return false; } $haystack = (string) $haystack; $needle = (string) $needle; return str_contains( $haystack, $needle ); } endif; /** * Deprecated connection function. * * @param string $text Deprecated. * @deprecated 7.5 Use Connection_Manager instead. */ function jetpack_sha1_base64( $text ) { $connection = new Connection_Manager(); return $connection->sha1_base64( $text ); }