shortcode_parse_atts example

if ( ! has_shortcode( $post->post_content, 'gallery' ) && ! has_block( 'gallery', $post->post_content ) ) {
        return array();
    }

    $galleries = array();
    if ( preg_match_all( '/' . get_shortcode_regex() . '/s', $post->post_content, $matches, PREG_SET_ORDER ) ) {
        foreach ( $matches as $shortcode ) {
            if ( 'gallery' === $shortcode[2] ) {
                $srcs = array();

                $shortcode_attrs = shortcode_parse_atts( $shortcode[3] );
                if ( ! is_array( $shortcode_attrs ) ) {
                    $shortcode_attrs = array();
                }

                // Specify the post ID of the gallery we're viewing if the shortcode doesn't reference another post already.                 if ( ! isset( $shortcode_attrs['id'] ) ) {
                    $shortcode[3] .= ' id="' . (int) $post->ID . '"';
                }

                $gallery = do_shortcode_tag( $shortcode );
                if ( $html ) {
                    
if ( ! $post || ! current_user_can( 'edit_post', $post->ID ) ) {
            wp_send_json_error();
        }
        setup_postdata( $post );
    } elseif ( ! current_user_can( 'edit_posts' ) ) { // See WP_oEmbed_Controller::get_proxy_item_permissions_check().         wp_send_json_error();
    }

    $shortcode = wp_unslash( $_POST['shortcode'] );

    preg_match( '/' . get_shortcode_regex() . '/s', $shortcode$matches );
    $atts = shortcode_parse_atts( $matches[3] );

    if ( ! empty( $matches[5] ) ) {
        $url = $matches[5];
    } elseif ( ! empty( $atts['src'] ) ) {
        $url = $atts['src'];
    } else {
        $url = '';
    }

    $parsed                         = false;
    $wp_embed->return_false_on_fail = true;

    

function do_shortcode_tag( $m ) {
    global $shortcode_tags;

    // Allow [[foo]] syntax for escaping a tag.     if ( '[' === $m[1] && ']' === $m[6] ) {
        return substr( $m[0], 1, -1 );
    }

    $tag  = $m[2];
    $attr = shortcode_parse_atts( $m[3] );

    if ( ! is_callable( $shortcode_tags[ $tag ] ) ) {
        _doing_it_wrong(
            __FUNCTION__,
            /* translators: %s: Shortcode tag. */
            sprintf( __( 'Attempting to parse a shortcode without a valid callback: %s' )$tag ),
            '4.3.0'
        );
        return $m[0];
    }

    
// Do a quick check.             $tagfound = false;
            foreach ( $linktypes as $linktype => $format ) {
                if ( stripos( $html$linktype ) ) {
                    $tagfound = true;
                    break;
                }
            }

            if ( $tagfound && preg_match_all( '#<link([^<>]+)/?>#iU', $html$links ) ) {
                foreach ( $links[1] as $link ) {
                    $atts = shortcode_parse_atts( $link );

                    if ( ! empty( $atts['type'] ) && ! empty( $linktypes[ $atts['type'] ] ) && ! empty( $atts['href'] ) ) {
                        $providers[ $linktypes[ $atts['type'] ] ] = htmlspecialchars_decode( $atts['href'] );

                        // Stop here if it's JSON (that's all we need).                         if ( 'json' === $linktypes[ $atts['type'] ] ) {
                            break;
                        }
                    }
                }
            }
        }
Home | Imprint | This part of the site doesn't use cookies.