From 2c3ef1bbaf41691a06711500b96dd65bc4421b65 Mon Sep 17 00:00:00 2001 From: Piotr Stankowski Date: Sat, 27 Jul 2024 05:37:32 +0200 Subject: [PATCH] Jetpack Sync: extract audio shortcodes --- projects/plugins/jetpack/_inc/lib/class.media-extractor.php | 4 ++++ .../jetpack/changelog/add-extracting-video-audio-shortcodes | 4 ++++ .../plugins/jetpack/changelog/add-extracting-video-shortcode | 4 ---- 3 files changed, 8 insertions(+), 4 deletions(-) create mode 100644 projects/plugins/jetpack/changelog/add-extracting-video-audio-shortcodes delete mode 100644 projects/plugins/jetpack/changelog/add-extracting-video-shortcode diff --git a/projects/plugins/jetpack/_inc/lib/class.media-extractor.php b/projects/plugins/jetpack/_inc/lib/class.media-extractor.php index b2e9ba41c9021..3cddec9e2401e 100644 --- a/projects/plugins/jetpack/_inc/lib/class.media-extractor.php +++ b/projects/plugins/jetpack/_inc/lib/class.media-extractor.php @@ -32,6 +32,7 @@ class Jetpack_Media_Meta_Extractor { * @var string[] */ private static $keeper_shortcodes = array( + 'audio', 'youtube', 'vimeo', 'hulu', @@ -200,6 +201,9 @@ public static function extract_from_content( $content, $what_to_extract = self:: $id = call_user_func( array( $shortcode_class_name, $shortcode_get_id_method ), $attr ); } elseif ( 'video' === $shortcode ) { $id = $attr['url'] ?? $attr['mp4'] ?? $attr['m4v'] ?? $attr['webm'] ?? $attr['ogv'] ?? $attr['wmv'] ?? $attr['flv'] ?? null; + } elseif ( 'audio' === $shortcode ) { + preg_match( '#(https?://(?:[^\s"|\']+)\.(?:mp3|ogg|flac|m4a|wav))([ "\'|]|$)#', implode( ' ', $attr ), $matches ); + $id = $matches[1] ?? null; } if ( ! empty( $id ) && ( ! isset( $shortcode_details[ $shortcode_name ] ) || ! in_array( $id, $shortcode_details[ $shortcode_name ], true ) ) ) { diff --git a/projects/plugins/jetpack/changelog/add-extracting-video-audio-shortcodes b/projects/plugins/jetpack/changelog/add-extracting-video-audio-shortcodes new file mode 100644 index 0000000000000..35243d0372675 --- /dev/null +++ b/projects/plugins/jetpack/changelog/add-extracting-video-audio-shortcodes @@ -0,0 +1,4 @@ +Significance: patch +Type: other + +Support video and audio shortcodes in Media Extractor diff --git a/projects/plugins/jetpack/changelog/add-extracting-video-shortcode b/projects/plugins/jetpack/changelog/add-extracting-video-shortcode deleted file mode 100644 index 17b53320498c1..0000000000000 --- a/projects/plugins/jetpack/changelog/add-extracting-video-shortcode +++ /dev/null @@ -1,4 +0,0 @@ -Significance: patch -Type: other - -Support video shortcodes in Media Extractor