WordPress.org

Ready to get started?Download WordPress

Forums

[resolved] [Plugin: Embed Iframe] Adding capability to apply an ID to iframe (2 posts)

  1. KZeni
    Member
    Posted 4 years ago #

    I needed to apply an ID to my iframe and the shortcode this plugin uses doesn't include this capability.

    I modified version 1.0 of this plugin to include this ability. So you can use [iframe URL WIDTH HEIGHT ID]. Be aware this is hacked together and hasn't been tested if you exclude any of the variables so including all 3 is highly recommended (although it does work if you leave off the ID).

    1. Modify embediframe.php (lines 35 - 50) so it catches the 3rd variable (id)
    Original:

    // Because the regex is such a nuisance
    			$url  = substr ($matches[1], 0, $tmp);
    			$rest = substr ($matches[1], strlen ($url));
    
    			$width  = 400;
    			$height = 500;
    
    				$parts = array_values (array_filter (explode (' ', $rest)));
    				$width = $parts[0];
    
    				unset ($parts[0]);
    				$height = implode (' ', $parts);
    
    			return $this->capture ('iframe', array ('url' => $url, 'width' => $width, 'height' => $height));

    Replacement:

    // Because the regex is such a nuisance
    			$url  = substr ($matches[1], 0, $tmp);
    			$rest = substr ($matches[1], strlen ($url));
    
    			$width  = 400;
    			$height = 500;
    			$id = '';
    
    				$parts = array_values (array_filter (explode (' ', $rest)));
    				$width = $parts[0];
    
    				$id = $parts[2];
    
    				unset ($parts[0],$parts[2]);
    				$height = implode (' ', $parts);
    
    			return $this->capture ('iframe', array ('url' => $url, 'width' => $width, 'height' => $height, 'id' => $id));

    2. Modify view/embediframe/iframe.php to include the ID in the actual HTML that's added to the page.
    Original:

    <div class="iframe-wrapper">
      <iframe src="<?php echo $url ?>" frameborder="0" style="height:<?=$height?>px;width:<?=$width?>px;" id="<?=$id?>">Please upgrade your browser</iframe>
    </div>

    Replacement:

    <div class="iframe-wrapper">
      <iframe src="<?php echo $url ?>" frameborder="0" style="height:<?=$height?>px;width:<?=$width?>px;"<?php if($id != ''){echo' id="'.$id.'"';} ?>>Please upgrade your browser</iframe>
    </div>

    Let me know if you have any recommended changes on my code. Or if you have a way of contacting the author to make this an official plugin feature.

    http://wordpress.org/extend/plugins/embed-iframe/

  2. digirew
    Member
    Posted 4 years ago #

    Hello,

    Can you please explain what this new ID code will do?

    I have a problem, when I submit a form using the website that is drawn from within the iframe, it opens up in the same window but no longer in the iframe.

    Does this ID option you put in allow me to fix this issue?

Topic Closed

This topic has been closed to new replies.

About this Topic