'http://www.youtube.com/embed/7_nAZQt9qu0', 'width' => '100%', 'height' => '500', 'scrolling' => 'yes', 'class' => 'iframe-class', 'frameborder' => '0', 'loading' => $settings['loading'] // Global setting from settings array ); if ( ! is_array( $atts ) ) { $atts = array(); } foreach ( $defaults as $default => $value ) { // add defaults if ( ! @array_key_exists( $default, $atts ) ) { // mute warning with "@" when no params at all $atts[$default] = $value; } } $html = "\n".''."\n"; $html .= ' $value ) { if ( strtolower($attr) == 'src' ) { // sanitize url $value = esc_url( $value ); } // Remove 'srcdoc' attribute if ( strtolower($attr) == 'srcdoc' ) { continue; } // Skip attributes starting with "on". Examples: onload, onmouseover, onfocus, onpageshow, onclick if ( strpos( strtolower( $attr ), 'on' ) === 0 ) { continue; } // Skip loading attribute if set to 'none' (browser default) if ( strtolower($attr) == 'loading' && strtolower($value) == 'none' ) { continue; } if ($value !== '') { // adding all attributes $html .= ' ' . esc_attr($attr) . '="' . esc_attr($value) . '"'; } else { // adding empty attributes $html .= ' ' . esc_attr($attr); } } $html .= '>'."\n"; if ( isset( $atts["same_height_as"] ) ) { $html .= ' '; } return $html; } add_shortcode( 'iframe', 'iframe_plugin_add_shortcode_cb' ); function iframe_plugin_row_meta_cb( $links, $file ) { if ( $file == plugin_basename( __FILE__ ) ) { $row_meta = array( 'support' => '' . __( 'Iframe', 'iframe' ) . '', 'donate' => '' . __( 'Donate', 'iframe' ) . '' ); $links = array_merge( $links, $row_meta ); } return (array) $links; } add_filter( 'plugin_row_meta', 'iframe_plugin_row_meta_cb', 10, 2 );