at path:
ROOT
/
wp-content
/
plugins
/
jetpack
/
modules
/
shortcodes
/
smartframe.php
run:
R
W
Run
css
DIR
2026-04-17 06:07:59
R
W
Run
images
DIR
2026-04-17 06:07:59
R
W
Run
img
DIR
2026-04-17 06:07:59
R
W
Run
js
DIR
2026-04-17 06:07:59
R
W
Run
archiveorg-book.php
3.41 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
archiveorg.php
4.02 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
archives.php
2.43 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
bandcamp.php
7.79 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
brightcove.php
8.81 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
cartodb.php
850 By
2026-04-17 06:07:59
R
W
Run
Delete
Rename
class.filter-embedded-html-objects.php
13.17 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
codepen.php
312 By
2026-04-17 06:07:59
R
W
Run
Delete
Rename
crowdsignal.php
22.04 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
dailymotion.php
15.37 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
descript.php
3.1 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
facebook.php
7.13 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
flatio.php
430 By
2026-04-17 06:07:59
R
W
Run
Delete
Rename
flickr.php
9.5 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
getty.php
7.64 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
gist.php
8.47 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
googleapps.php
9.94 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
googlemaps.php
8.07 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
googleplus.php
1.08 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
gravatar.php
6.18 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
houzz.php
967 By
2026-04-17 06:07:59
R
W
Run
Delete
Rename
inline-pdfs.php
1.19 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
instagram.php
14.61 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
kickstarter.php
2.49 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
mailchimp.php
7.19 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
medium.php
3.27 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
mixcloud.php
3.66 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
others.php
2.11 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
pinterest.php
1.84 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
presentations.php
14.57 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
quiz.php
9.2 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
recipe.php
19.04 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
scribd.php
2.49 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
shortcode-utils.php
955 By
2026-04-17 06:07:59
R
W
Run
Delete
Rename
sitemap.php
609 By
2026-04-17 06:07:59
R
W
Run
Delete
Rename
slideshare.php
3.83 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
slideshow.php
9.43 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
smartframe.php
3.74 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
soundcloud.php
8.78 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
spotify.php
3.3 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
ted.php
3.62 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
tweet.php
5.07 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
twitchtv.php
2.67 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
twitter-timeline.php
1.98 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
twitter.php
2.6 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
unavailable.php
3.33 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
untappd-menu.php
2.5 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
upcoming-events.php
1.73 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
ustream.php
3.18 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
videopress.php
470 By
2026-04-17 06:07:59
R
W
Run
Delete
Rename
vimeo.php
11.61 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
vine.php
2.66 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
vr.php
4.96 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
wufoo.php
3.43 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
youtube.php
23.54 KB
2026-04-17 06:07:59
R
W
Run
Delete
Rename
error_log
up
📄
smartframe.php
Save
<?php /** * Smartframe.io embed * * Example URL: https://mikael-korpela.smartframe.io/p/mantymetsa_1630927773870/7673dc41a775fb845cc26acf24f1fe4?t=rql1c6dbpv2 * Example embed code: <script src="https://embed.smartframe.io/6ae67829d1264ee0ea6071a788940eae.js" data-image-id="mantymetsa_1630927773870" data-width="100%" data-max-width="1412px"></script> * * @package automattic/jetpack */ if ( ! defined( 'ABSPATH' ) ) { exit( 0 ); } if ( defined( 'IS_WPCOM' ) && IS_WPCOM ) { add_action( 'init', 'jetpack_smartframe_enable_embeds' ); } else { jetpack_smartframe_enable_embeds(); } /** * Register smartframe as oembed provider. Add filter to reverse iframes to shortcode. Register [smartframe] shortcode. * * @since 10.2.0 */ function jetpack_smartframe_enable_embeds() { // Support their oEmbed Endpoint. wp_oembed_add_provider( '#https?://(.*?)\.smartframe\.(io|net)/.*#i', 'https://oembed.smartframe.io/', true ); if ( jetpack_shortcodes_should_hook_pre_kses() ) { // Allow script to be filtered to short code (so direct copy+paste can be done). add_filter( 'pre_kses', 'jetpack_shortcodereverse_smartframe' ); } // Actually display the smartframe Embed. add_shortcode( 'smartframe', 'jetpack_smartframe_shortcode' ); } /** * Compose shortcode based on smartframe iframes. * * @since 10.2.0 * * @param string $content Post content. * * @return mixed */ function jetpack_shortcodereverse_smartframe( $content ) { if ( ! is_string( $content ) || false === stripos( $content, 'embed.smartframe' ) ) { return $content; } // phpcs:ignore WordPress.WP.EnqueuedResources.NonEnqueuedScript $regexp = '!<script\ssrc="https://embed\.smartframe\.(?:io|net)/(\w+)\.js"\sdata-image-id="(.*?)"(?:\sdata-width="(?:\d+(?:%|px))"\s)?(?:data-max-width="(\d+(%|px)))?"></script>!i'; $regexp_ent = str_replace( '&#0*58;', '&#0*58;|�*58;', htmlspecialchars( $regexp, ENT_NOQUOTES ) ); foreach ( compact( 'regexp', 'regexp_ent' ) as $regexp ) { if ( ! preg_match_all( $regexp, $content, $matches, PREG_SET_ORDER ) ) { continue; } foreach ( $matches as $match ) { // We need at least a script ID and an image ID. if ( ! isset( $match[1] ) || ! isset( $match[2] ) ) { continue; } $shortcode = sprintf( '[smartframe script-id="%1$s" image-id="%2$s"%3$s]', esc_attr( $match[1] ), esc_attr( $match[2] ), ! empty( $match[3] ) ? ' max-width="' . esc_attr( $match[3] ) . '"' : '' ); $content = str_replace( $match[0], $shortcode, $content ); } } /** This action is documented in modules/widgets/social-media-icons.php */ do_action( 'jetpack_bump_stats_extras', 'html_to_shortcode', 'smartframe' ); return $content; } /** * Parse shortcode arguments and render its output. * * @since 10.2.0 * * @param array $atts Shortcode parameters. * * @return string */ function jetpack_smartframe_shortcode( $atts ) { if ( ! empty( $atts['image-id'] ) ) { $image_id = $atts['image-id']; } else { return '<!-- Missing smartframe image-id -->'; } if ( ! empty( $atts['script-id'] ) ) { $script_id = $atts['script-id']; } else { return '<!-- Missing smartframe script-id -->'; } $params = array( // ignore width for now, smartframe embed code has it "100%". % isn't allowed in oembed, making it 100px. // 'width' => isset( $atts['width'] ) ? (int) $atts['width'] : null,. 'max-width' => isset( $atts['max-width'] ) ? (int) $atts['max-width'] : null, ); $embed_url = sprintf( 'https://imagecards.smartframe.io/%1$s/%2$s', esc_attr( $script_id ), esc_attr( $image_id ) ); // wrap the embed with wp-block-embed__wrapper, otherwise it would be aligned to the very left of the viewport. return sprintf( '<div class="wp-block-embed__wrapper">%1$s</div>', wp_oembed_get( $embed_url, array_filter( $params ) ) ); }