at path:
ROOT
/
wp-content
/
plugins
/
jetpack
/
modules
/
shortcodes.php
run:
R
W
Run
canonical-urls
DIR
2026-04-17 06:07:59
R
W
Run
carousel
DIR
2026-04-17 06:07:59
R
W
Run
comment-likes
DIR
2026-04-17 06:07:59
R
W
Run
comments
DIR
2026-04-17 06:07:59
R
W
Run
custom-post-types
DIR
2026-04-17 06:07:59
R
W
Run
external-media
DIR
2026-04-17 06:07:59
R
W
Run
google-fonts
DIR
2026-04-17 06:07:59
R
W
Run
gravatar
DIR
2026-04-17 06:07:59
R
W
Run
infinite-scroll
DIR
2026-04-17 06:07:59
R
W
Run
likes
DIR
2026-04-17 06:07:59
R
W
Run
markdown
DIR
2026-04-17 06:07:59
R
W
Run
memberships
DIR
2026-04-17 06:07:59
R
W
Run
photon-cdn
DIR
2026-04-17 06:07:59
R
W
Run
plugin-search
DIR
2026-04-17 06:07:59
R
W
Run
post-by-email
DIR
2026-04-17 06:07:59
R
W
Run
related-posts
DIR
2026-04-17 06:07:59
R
W
Run
scan
DIR
2026-04-17 06:07:59
R
W
Run
seo-tools
DIR
2026-04-17 06:07:59
R
W
Run
sharedaddy
DIR
2026-04-17 06:07:59
R
W
Run
shortcodes
DIR
2026-04-17 06:07:59
R
W
Run
simple-payments
DIR
2026-04-17 06:07:59
R
W
Run
site-icon
DIR
2026-04-17 06:07:59
R
W
Run
sitemaps
DIR
2026-04-17 06:07:59
R
W
Run
stats
DIR
2026-04-17 06:07:59
R
W
Run
subscriptions
DIR
2026-04-17 06:07:59
R
W
Run
theme-tools
DIR
2026-04-17 06:07:59
R
W
Run
tiled-gallery
DIR
2026-04-17 06:07:59
R
W
Run
verification-tools
DIR
2026-04-17 06:07:59
R
W
Run
videopress
DIR
2026-04-17 06:07:59
R
W
Run
widget-visibility
DIR
2026-04-17 06:07:59
R
W
Run
widgets
DIR
2026-04-17 06:07:59
R
W
Run
woocommerce-analytics
DIR
2026-04-17 06:07:59
R
W
Run
wordads
DIR
2026-04-17 06:07:59
R
W
Run
wpcom-tos
DIR
2026-04-17 06:07:59
R
W
Run
account-protection.php
369 By
2026-04-17 06:07:59
R
W
Run
Delete
Rename
blaze.php
1.03 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
blocks.php
1.82 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
canonical-urls.php
2.46 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
carousel.php
612 By
2026-04-17 06:07:59
R
W
Run
Delete
Rename
comment-likes.php
8.04 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
comments.php
1.08 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
contact-form.php
798 By
2026-04-17 06:07:59
R
W
Run
Delete
Rename
copy-post.php
15.43 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
custom-content-types.php
4 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
google-fonts.php
554 By
2026-04-17 06:07:59
R
W
Run
Delete
Rename
gravatar-hovercards.php
11.9 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
infinite-scroll.php
8.25 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
json-api.php
503 By
2026-04-17 06:07:59
R
W
Run
Delete
Rename
latex.php
4.66 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
likes.php
20.35 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
markdown.php
1.04 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
module-extras.php
2.69 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
module-headings.php
44.61 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
module-info.php
27.27 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
monitor.php
3.56 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
notes.php
7.88 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
photon-cdn.php
12.69 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
photon.php
698 By
2026-04-17 06:07:59
R
W
Run
Delete
Rename
plugin-search.php
21.6 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
post-by-email.php
676 By
2026-04-17 06:07:59
R
W
Run
Delete
Rename
post-list.php
570 By
2026-04-17 06:07:59
R
W
Run
Delete
Rename
protect.php
609 By
2026-04-17 06:07:59
R
W
Run
Delete
Rename
publicize.php
3.76 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
related-posts.php
2.27 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
search.php
1.18 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
seo-tools.php
1.6 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
sharedaddy.php
1.06 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
shortcodes.php
6.45 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
shortlinks.php
4.46 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
simple-payments.php
421 By
2026-04-17 06:07:59
R
W
Run
Delete
Rename
sitemaps.php
1.3 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
sso.php
743 By
2026-04-17 06:07:59
R
W
Run
Delete
Rename
stats.php
43.15 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
subscriptions.php
34.47 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
theme-tools.php
2.47 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
tiled-gallery.php
1.12 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
vaultpress.php
1.8 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
verification-tools.php
899 By
2026-04-17 06:07:59
R
W
Run
Delete
Rename
videopress.php
989 By
2026-04-17 06:07:59
R
W
Run
Delete
Rename
waf.php
309 By
2026-04-17 06:07:59
R
W
Run
Delete
Rename
widget-visibility.php
558 By
2026-04-17 06:07:59
R
W
Run
Delete
Rename
widgets.php
2.8 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
woocommerce-analytics.php
928 By
2026-04-17 06:07:59
R
W
Run
Delete
Rename
wordads.php
632 By
2026-04-17 06:07:59
R
W
Run
Delete
Rename
wpcom-reader.php
461 By
2026-04-17 06:07:59
R
W
Run
Delete
Rename
wpgroho.js
1.93 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
error_log
up
📄
shortcodes.php
Save
<?php /** * Module Name: Shortcode Embeds * Module Description: Easily embed rich media like YouTube videos and tweets using simple shortcodes. * Sort Order: 3 * First Introduced: 1.1 * Major Changes In: 1.2 * Requires Connection: No * Auto Activate: No * Module Tags: Photos and Videos, Social, Writing, Appearance * Feature: Writing * Additional Search Queries: shortcodes, shortcode, embeds, media, bandcamp, dailymotion, facebook, flickr, google calendars, google maps, polldaddy, recipe, recipes, scribd, slideshare, slideshow, slideshows, soundcloud, ted, twitter, vimeo, vine, youtube * * @package automattic/jetpack */ if ( ! defined( 'ABSPATH' ) ) { exit( 0 ); } // Load shortcode utils. require_once __DIR__ . '/shortcodes/shortcode-utils.php'; /** * Transforms the $atts array into a string that the old functions expected * * The old way was: * [shortcode a=1&b=2&c=3] or [shortcode=1] * This is parsed as array( a => '1&b=2&c=3' ) and array( 0 => '=1' ), which is useless * * @param array $params Array of old shortcode parameters. * @param bool $old_format_support true if [shortcode=foo] format is possible. * * @return string $params */ function shortcode_new_to_old_params( $params, $old_format_support = false ) { $str = ''; if ( $old_format_support && isset( $params[0] ) ) { $str = ltrim( $params[0], '=' ); } elseif ( is_array( $params ) ) { foreach ( array_keys( $params ) as $key ) { if ( ! is_numeric( $key ) ) { $str = $key . '=' . $params[ $key ]; } } } return str_replace( array( '&', '&' ), '&', $str ); } /** * Load all available Jetpack shortcode files. */ function jetpack_load_shortcodes() { // Prevent third-party shortcode plugins when loading shortcode files. // Format: shortcode => condition_when_to_skip $shortcode_skips = array( 'shortcode-utils' => true, // Utils aren't shortcodes. 'soundcloud' => function_exists( 'soundcloud_shortcode' ), // SoundCloud Shortcodes plugin ); $shortcode_includes = array(); foreach ( Jetpack::glob_php( __DIR__ . '/shortcodes' ) as $file ) { $filename = substr( basename( $file ), 0, -4 ); if ( empty( $shortcode_skips[ $filename ] ) ) { $shortcode_includes[ $filename ] = $file; } } /** * This filter allows other plugins to override which shortcodes Jetpack loads. * * Fires as part of the `after_setup_theme` WP hook, so modifying code needs to be in a plugin, not in a theme's functions.php. * * @module shortcodes * * @since 2.2.1 * @since 4.2.0 Added filename without extension as array key. * * @param array $shortcode_includes An array of which shortcodes to include. */ $shortcode_includes = apply_filters( 'jetpack_shortcodes_to_include', $shortcode_includes ); foreach ( $shortcode_includes as $include ) { include_once $include; } } /** * Runs preg_replace so that replacements don't happen within open tags. * Parameters are the same as preg_replace, with an added optional search param for improved performance * * @param string $pattern Pattern to search for. * @param string $replacement String to replace. * @param string $content Post content. * @param string $search String to search for. * * @return string $content Replaced post content. */ function jetpack_preg_replace_outside_tags( $pattern, $replacement, $content, $search = null ) { if ( $search && ! str_contains( $content, $search ) ) { return $content; } $textarr = wp_html_split( $content ); unset( $content ); foreach ( $textarr as &$element ) { if ( '' === $element || '<' === $element[0] ) { continue; } $element = preg_replace( $pattern, $replacement, $element ); } return implode( $textarr ); } /** * Runs preg_replace_callback so that replacements don't happen within open tags. * Parameters are the same as preg_replace, with an added optional search param for improved performance. * * @param string $pattern Pattern to search for. * @param string $callback Callback returning the replacement string. * @param string $content Post content. * @param string $search String to search for. * * @return string $content Replaced post content. */ function jetpack_preg_replace_callback_outside_tags( $pattern, $callback, $content, $search = null ) { if ( $search && ! str_contains( $content, $search ) ) { return $content; } $textarr = wp_html_split( $content ); unset( $content ); foreach ( $textarr as &$element ) { if ( '' === $element || '<' === $element[0] ) { continue; } $element = preg_replace_callback( $pattern, $callback, $element ); } return implode( $textarr ); } if ( ! function_exists( 'jetpack_shortcode_get_wpvideo_id' ) ) { /** * Get VideoPress ID from wpvideo shortcode attributes. * * @param array $atts Shortcode attributes. * * @return string|int $id VideoPress ID. */ function jetpack_shortcode_get_wpvideo_id( $atts ) { if ( isset( $atts[0] ) ) { return $atts[0]; } else { return 0; } } } if ( ! function_exists( 'jetpack_shortcode_get_videopress_id' ) ) { /** * Get VideoPress ID from videopress shortcode attributes. * * @param array $atts Shortcode attributes. * @return int $id VideoPress ID. */ function jetpack_shortcode_get_videopress_id( $atts ) { if ( isset( $atts[0] ) ) { return $atts[0]; } else { return 0; } } } /** * Common element attributes parsing and sanitizing for src, width and height. * * @since 4.5.0 * * @param array $attrs With original values. * * @return array $attrs With sanitized values. */ function wpcom_shortcodereverse_parseattr( $attrs ) { $defaults = array( 'src' => false, 'width' => false, 'height' => false, ); $attrs = shortcode_atts( $defaults, $attrs ); $attrs['src'] = wp_strip_all_tags( $attrs['src'] ); // For sanity. $attrs['width'] = ( is_numeric( $attrs['width'] ) ) ? abs( (int) $attrs['width'] ) : $defaults['width']; $attrs['height'] = ( is_numeric( $attrs['height'] ) ) ? abs( (int) $attrs['height'] ) : $defaults['height']; return $attrs; } /** * When an embed service goes away, we can use this handler * to output a link for history's sake. * * @param array $matches Regex partial matches against the URL passed. * @param array $attr Attributes received in embed response. * @param string $url Requested URL to be embedded. * @return string Link to output. */ function jetpack_deprecated_embed_handler( $matches, $attr, $url ) { return sprintf( '<a href="%s">%s</a>', esc_url( $url ), esc_html( esc_url( $url ) ) ); } jetpack_load_shortcodes();