PATH:
home
/
lab2454c
/
mact34.com
/
wp-content
/
plugins
/
jetpack
/
modules
/
shortcodes
<?php /** * Embed support for Medium * * Supported formats: * - Profiles: https://medium.com/@jeherve * - Stories: https://medium.com/@jeherve/this-is-a-story-19f582daaf5b * - And all the above in shortcode formats: * [medium url="https://medium.com/@jeherve/this-is-a-story-19f582daaf5b" width="100%" border="false" collapsed="true"] * * @package automattic/jetpack */ // Faux-oembed support for Medium permalinks. wp_embed_register_handler( 'medium', '#^https?://medium.com/([a-zA-z0-9-_@]+)#', 'jetpack_embed_medium_oembed' ); /** * Callback to modify output of embedded Medium posts. * * @param array $matches Regex partial matches against the URL passed. * @param array $attr Attributes received in embed response. * @param array $url Requested URL to be embedded. */ function jetpack_embed_medium_oembed( $matches, $attr, $url ) { $attr = jetpack_embed_medium_args( $attr ); $attr['url'] = $url; return jetpack_embed_medium_embed_html( $attr ); } /** * Return custom markup to display a Medium profile, collection, or story. * * @param array $args Attributes received in embed response. */ function jetpack_embed_medium_embed_html( $args ) { $args = jetpack_embed_medium_args( $args ); if ( empty( $args['url'] ) ) { return; } $args['type'] = jetpack_embed_medium_get_embed_type( $args['url'] ); if ( 'collection' === $args['type'] ) { return sprintf( '<a href="%1$s" target="_blank" rel="noopener noreferrer">%2$s</a>', esc_url( $args['url'] ), esc_html__( 'View this collection on Medium.com', 'jetpack' ) ); } wp_enqueue_script( 'medium-embed', 'https://static.medium.com/embed.js', array(), JETPACK__VERSION, true ); return sprintf( '<a class="m-%1$s" href="%2$s" target="_blank" data-width="%3$s" data-border="%4$s" data-collapsed="%5$s">%6$s</a>', esc_attr( $args['type'] ), esc_url( $args['url'] ), esc_attr( $args['width'] ), esc_attr( $args['border'] ), esc_attr( $args['collapsed'] ), esc_html__( 'View at Medium.com', 'jetpack' ) ); } /** * Shortcode support that allows passing in URL * * @param array $atts Shortcode attributes. */ function jetpack_embed_medium_shortcode( $atts ) { $atts = jetpack_embed_medium_args( $atts ); if ( ! empty( $atts['url'] ) ) { global $wp_embed; return $wp_embed->shortcode( $atts, $atts['url'] ); } else { if ( current_user_can( 'edit_posts' ) ) { return esc_html__( 'You did not provide a valid Medium URL.', 'jetpack' ); } else { return '<!-- Missing Medium URL -->'; } } } add_shortcode( 'medium', 'jetpack_embed_medium_shortcode' ); /** * Get embed type (profile, collection, or story) based on Medium URL. * * @param string $url Medium URL. */ function jetpack_embed_medium_get_embed_type( $url ) { $url_path = wp_parse_url( $url, PHP_URL_PATH ); if ( preg_match( '/^\/@[\.\w]+$/', $url_path ) ) { return 'profile'; } elseif ( preg_match( '/^\/(?:s)\/(.+)$/', $url_path ) ) { return 'collection'; } return 'story'; } /** * Process Medium shortcode attributes. * * @param array $atts Shortcode attributes. */ function jetpack_embed_medium_args( $atts ) { return shortcode_atts( array( 'url' => '', 'width' => '400', 'border' => true, 'collapsed' => false, ), $atts, 'medium' ); }
[-] class.filter-embedded-html-objects.php
[edit]
[-] vimeo.php
[edit]
[-] inline-pdfs.php
[edit]
[+]
js
[-] vine.php
[edit]
[-] getty.php
[edit]
[-] twitter-timeline.php
[edit]
[-] codepen.php
[edit]
[-] upcoming-events.php
[edit]
[-] archiveorg-book.php
[edit]
[-] archiveorg.php
[edit]
[-] tweet.php
[edit]
[-] videopress.php
[edit]
[+]
..
[-] youtube.php
[edit]
[-] dailymotion.php
[edit]
[-] mixcloud.php
[edit]
[-] untappd-menu.php
[edit]
[-] crowdsignal.php
[edit]
[+]
img
[-] cartodb.php
[edit]
[-] presentations.php
[edit]
[-] others.php
[edit]
[-] recipe.php
[edit]
[-] unavailable.php
[edit]
[-] flickr.php
[edit]
[-] vr.php
[edit]
[-] gist.php
[edit]
[-] twitchtv.php
[edit]
[-] pinterest.php
[edit]
[-] quiz.php
[edit]
[+]
css
[-] bandcamp.php
[edit]
[-] wufoo.php
[edit]
[-] hulu.php
[edit]
[-] ustream.php
[edit]
[-] slideshare.php
[edit]
[-] kickstarter.php
[edit]
[-] soundcloud.php
[edit]
[-] sitemap.php
[edit]
[-] scribd.php
[edit]
[-] googleapps.php
[edit]
[-] houzz.php
[edit]
[-] facebook.php
[edit]
[+]
images
[-] instagram.php
[edit]
[-] mailchimp.php
[edit]
[-] archives.php
[edit]
[-] spotify.php
[edit]
[-] googleplus.php
[edit]
[-] googlemaps.php
[edit]
[-] slideshow.php
[edit]
[-] ted.php
[edit]
[-] wordads.php
[edit]
[-] gravatar.php
[edit]
[-] brightcove.php
[edit]
[-] flatio.php
[edit]
[-] medium.php
[edit]