PluginProbe
iframe / 2.0
iframe v2.0
trunk 1.0.0 1.1.0 1.2.0 1.3.0 1.4.0 1.5.0 1.6.0 1.7 1.8 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 4.0 4.1 4.2 4.3 All 35 releases
iframe / iframe.php

iframe.php in iframe 2.0, at iframe.php

86 lines 2.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /*
3 Plugin Name: iframe
4 Plugin URI: http://web-profile.com.ua/wordpress/plugins/iframe/
5 Description: Plugin shows iframe with [iframe src="http://player.vimeo.com/video/3261363" width="100%" height="480"] shortcode.
6 Version: 2.0
7 Author: webvitaly
8 Author Email: webvitaly(at)gmail.com
9 Author URI: http://web-profile.com.ua/wordpress/
10 */
11
12 if ( !function_exists( 'iframe_embed_shortcode' ) ) :
13
14 function iframe_enqueue_script() {
15 wp_enqueue_script( 'jquery' );
16 }
17 add_action('wp_enqueue_scripts', 'iframe_enqueue_script');
18
19 function iframe_embed_shortcode($atts, $content = null) {
20 $defaults = array(
21 'width' => '100%',
22 'height' => '480',
23 'scrolling' => 'no',
24 'class' => 'iframe-class'
25 );
26 // add defaults
27 foreach ($defaults as $default => $value) {
28 if (!array_key_exists($default, $atts)) {
29 $atts[$default] = $value;
30 }
31 }
32 // special case maps
33 $src_cut = substr($atts["src"], 0, 35);
34 if(strpos($src_cut, 'maps.google' )){
35 $atts["src"] .= '&output=embed';
36 }
37 $html = '';
38 $same_height_as = $atts["same_height_as"];
39 if( $same_height_as != '' ){
40 $atts["same_height_as"] = '';
41 if( $same_height_as != 'content' ){ // we are setting the height of the iframe like as target element
42 if( $same_height_as == 'document' || $same_height_as == 'window' ){ // remove quotes for window or document selectors
43 $target_selector = $same_height_as;
44 }else{
45 $target_selector = '"' . $same_height_as . '"';
46 }
47 $html .= '
48 <script>
49 jQuery(document).ready(function($) {
50 var target_height = $(' . $target_selector . ').height();
51 $("iframe.' . $atts["class"] . '").height(target_height);
52 //alert(target_height);
53 });
54 </script>
55 ';
56 }else{ // set the actual height of the iframe (show all content of the iframe without scroll)
57 $html .= '
58 <script>
59 jQuery(document).ready(function($) {
60 $("iframe.' . $atts["class"] . '").bind("load", function() {
61 var embed_height = $(this).contents().find("body").height();
62 $(this).height(embed_height);
63 });
64 });
65 </script>
66 ';
67 }
68 }
69 $html .= "\n".'<!-- powered by Iframe plugin ver.2.0 (wordpress.org/extend/plugins/iframe/) -->'."\n";
70 $html .= '<iframe';
71 foreach ($atts as $attr => $value) {
72 if( $attr != 'same_height_as' ){ // remove some attributes
73 if( $value != '' ) { // adding all attributes
74 $html .= ' ' . $attr . '="' . $value . '"';
75 } else { // adding empty attributes
76 $html .= ' ' . $attr;
77 }
78 }
79 }
80 $html .= '></iframe>';
81 return $html;
82 }
83 add_shortcode('iframe', 'iframe_embed_shortcode');
84
85 endif;
86