Advanced iFrame


Advanced iFrame Pro
p3d – 3d models pre-configured with advenced iframe: Get 50% discount with the coupon AIFRAME

Include content the way YOU like in an iframe that can hide and modify elements, does auto height, forward parameters and does many, many more…

Main features of advanced iframe

By entering the shortcode ‘[advanced_iframe]’ you can include any webpage to any page or article.

Advanced iFrame now has out of the box support for embedded 3D models using the p3d 3D viewer. Go to and download a pre-configured plugin where the model does scale already nicely on all devices. Get started for free! If you need more storage or access to the Premium features of, you can get a 50% discount on your first payment with the coupon AIFRAME on checkout.

The following cool features compared to a normal iframe are implemented:

  • Hide areas of the layout to give the iframe more space (see screenshot)
  • Show only specific areas of the iframe when the iframe is on a same domain (The Pro version supports this on different domains) or include parts directly by jQuery
  • Modify css styles in the parent and the iframe to e.g. change the width of the content area (see screen-shot)
  • Forward parameters to the iframe
  • Resize the iframe to the content height or width on loading, AJAX or click
  • Responsive videos (moved from the pro to the the free version in v2022)
  • Scroll the parent to the top when the iframe is loaded
  • Hide the content until it is fully loaded
  • Add a css and js file to the parent page
  • Security code: You can only insert the shortcode with a valid security code from the administration.
  • Many additional cool features are available the pro version – see

In the free version you can enable the pro administration AND test many of the pro features in the preview!

Please note: Modification inside the iframe are only possible if you are on the same domain or use a workaround like described in the settings.

So please check first if the iframe page and the parent page are one the same domain. and are different domains! Please check in the documentation if you can use the feature you like

A free iframe checker is available at
This tool does check if a page is allowed to be included!

All settings can be set with shortcode attributes as well. If you only use one iframe please use the settings in the administration because there each parameter is explained in detail and also the defaults are set there.

Quick overview of all advanced iframe attributes

Limitations of the free version

The free version has no functional restrictions and is for personal and non-commercial sites. After 10.000 views/month the iframe is still working but below the iframe a small “powered by” notice with a link to the pro version is shown. If you hit this limit and you qualify for the free license please contact me to get a version with a higher limit.

Upgrading to Advanced IFrame Pro

It’s quick and painless to get Advanced iFrame Pro. Simply Get Advanced iFrame Pro on ( and install your new plugin! You can than use the plugin on commercial, business, and professional sites and blogs. You furthermore get:

  • Show only specific areas of the iframe even when the iframe is on different domain
  • Graphical content selector:
  • External workaround supports iframe modifications
  • Widget support
  • No view limit
  • Hide areas of an iframe
  • Browser detection
  • Change link targets
  • Url forward parameter mapping.
  • Zoom iframe content
  • Accordion menu
  • jQuery help
  • Advanced lazy load
  • Standalone version – can be used in ANY php page!
  • And much more…

You can find the comparison chart here:
See the pro demo here:


  • Go to Settings -> Advanced iFrame

Quick start guide

The quickstart guide is also available as video:

To include a webpage to your page please check the following things first:

  • Check if your page page is allowed to be included!
  • Check if the iframe page and the parent page are one the same domain. and are different domains!
  • Can you modify the page that should be included?

Most likely you have one of the following setups:

  1. iframe cannot be included: You cannot include the content because the owner does not allow this.
  2. iframe can be included and you are on a different domain: See the feature comparison chart: and the feature overview To resize the content to the height/width or modify css you need to modify the remote iframe page by adding one line of Javascript to enable the provided workaround.
  3. iframe can be included and you are on the same domain: All features of the plugin can be used.

If you mix http and https read Parent https and iframe http does not work on all mayor browsers!

Advanced iframe attributes

Below you find all possible shortcode attributes. If you only use one iframe please use the settings in the administration because there each parameter is explained in detail and also the defaults are set there.

Setting an attribute does overwrite the setting in the administration.

[advanced_iframe securitykey=”” src=””
id=”” name=””
width=”” height=””
marginwidth=”” marginheight=””
scrolling=”” frameborder=””
class=”” style=””
content_id=”” content_styles=””
hide_elements=”” url_forward_parameter=””
onload=”” onload_resize=””
onload_scroll_top=”” onload_show_element_only=””
store_height_in_cookie=”” additional_height=””
additional_js=”” additional_css=””
iframe_content_id=”” iframe_content_styles=””
iframe_hide_elements=”” hide_page_until_loaded=””
include_url=”” include_content=””
include_height=”” include_fade=””
onload_resize_width=”” resize_on_ajax=””
resize_on_ajax_jquery=”” resize_on_click=””
resize_on_click_elements=”” use_shortcode_attributes_only=””


  • Comparison between normal iframe and advanced iframe wrapper. The red areas are modified by the advanced iframe to display the content better.
  • This image shows the difference with an url forward parameter. In the advanced iframe a sub album is shown while the normal iframe still shows the entry screen.
  • The basic admin screen to enable standard settings
  • The advanced admin screen to enable advanced settings like HTML and css changes
  • The advanced admin screen to enable Javascript scroll to top and autoresize resize


This plugin provides 1 block.

  • Advanced iframe


There are 2 ways to install the Advanced iFrame

Using the WordPress Admin screen

  1. Click Plugins, Add New
  2. Search for advanced iframe
  3. Install and Activate it
  4. Place ‘[advanced_iframe]’ in the editor directly or click on the “Add advanced iframe” button above the editor
  5. Configure your iframe at your dashboard side menu -> “Advanced iFrame pro”. For adding several iframes please see the examples and the FAQ.

Using FTP

  1. Upload the ‘advanced-iframe’ folder of the download zip to the ‘/wp-content/plugins/’ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Place ‘[advanced_iframe]’ in the editor directly or click on the “Add advanced iframe” button above the editor
  4. Configure your iframe at your dashboard side menu -> “Advanced iFrame pro”. For adding several iframes please see the examples and the FAQ.


Find the latest FAQ here:


See the pro demo here:

See the free demo here:


September 22, 2023
embedded a python flask app with this plugin. Saved me so much work. Great plugin!
September 14, 2023
The plugin offers a lot of useful features for working with iframes, and the plugin developer was very helpful with trying to figure out a problem I was having.
July 21, 2023 7 replies
<!– wp:paragraph –> <p class=””>I was just looking at my review and have no clue how or when I gave this great plugin a low rating. I must have mixed it up with another plugin.</p> <!– /wp:paragraph –> <!– wp:paragraph –> <p class=””>Love the plugin, has saved me some time and headaches.</p> <!– /wp:paragraph –>
October 17, 2022
I rely on this plugin to embed CRUD applications integrated with additional databases into WP and there is nothing else in the plugin repository that even comes close. Last week, when I had an issue after an update, Michael responded really fast with a workaround and within a couple of days, an update was released that fixed the issue permanently. Not that’s service!! Highly recommended.
April 30, 2022
When it comes to including iFrames in your posts and pages, you’ll definitely want to use this great plugin. Plus, the developer is very friendly and quick to respond to questions in the forum. 5 stars.
March 10, 2022
I have been using this plugin for quite a while. It is easier then all the others and so far, I’ve had no challenges or problems. Thanks to the developers
Read all 52 reviews

Contributors & Developers

“Advanced iFrame” is open source software. The following people have contributed to this plugin.


Translate “Advanced iFrame” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • New: Tested with WordPress 6.5.3
  • Fix: When using arrays in the parameters was causing an error. If this is now the case no optimization of placeholders are done anymore.
  • Security fix: Added additional filters to some Javascript parameters to increase security.


  • Security fix: The filter attribute method now filters shortcode attributes which are parsed wrong by WordPress if the user does not have the unfiltered_html permission.
  • Security fix: #x28 and #x29 are filtered if the user does not have the unfiltered_html permission.


  • Security fix: The additional_js and additional_js_file_iframe attribute are now only allowed to be used if you have the permission “unfiltered_html”, that you need in WordPress to use iframes. If you do not have this permission, during save the attributes are removed and an error message is shown.
  • Fix: Show iframe as layer was not working properly in Firefox. The link was opening in a new tab. Using a different way to hide the iframe solves the problem.
  • Fix: Filtering all short code attributes failed because “The Plus Blocks for Block Editor” was adding their settings to the ai attributes. I will contact them, why they do such stupid things!
  • Fix: Switching a theme could cause an error message when no content pages where existing. Now this is only executed if content pages do exist.


  • Fix: add_iframe_url_as_param thrown an error because of the additional security filter. Now it works fine again.


  • Security fix: The include_html attribute is now only allowed to be used if you have the permission “unfiltered_html”, that you need in WordPress to use iframes. If you do not have this permission, during save the attribute is removed and an error message is shown.
  • Security fix: All shortcode attributes have now input sanitation to avoid Stored Cross-Site Scripting at save if you do not have the permission “unfiltered_html”! This happens in the normal editor and also in the Gutenberg block! Please get the unfiltered_html permission if you get an error message while you want to use ‘();= or a space in attributes. This sanitation is very general and does not allow all possible things you can do with advanced iframe. As 99.9% of the users who add an iframe are editors or above this should affect almost no one directly and it makes the plugin more secure.
  • Security fix: ” inside advanced iframe shortcode attributes is not allowed anymore to avoid XSS attacks.
  • Security fix: Additional output filtering of short code attributes directly used in HTML or Javascript to avoid XSS attacks. This is done for ALL roles!
  • New: The scroll to top in the external workaround is now also supporting the “touched” event next to the “click” event.
  • New: The documentation was improved for scroll to top as the external workaround is also supporting “iframe” if “Scrolls the parent window/iframe to the top” is set to iframe.


  • New: Support for Partitioned; See for details. All places where SameSite=None is set also Partitioned; is added now.
  • Fix: When saving the administration the detection of modified ai.min.js could cause a file_exists too long error with a lot of text shown. A wrong variaentation ble was used here which is fixed now. Now also the detection works that ai.min.js is regenerated again and again.


  • Security fix: The onload and custom attributes are now only allowed to be used if you have the permission “unfiltered_html”, that you need in WordPress to use iframes. If you do not have this permission, during save the attributes are removed and an error message is shown.


  • New: Anchor support in iframe when auto height is active. By default an anchor scrolls to the id specified. When auto height is active no scrollbar does exist and therefore scrolling does not work. This feature is now sending the position of the anchor to the parent and scrolls the parent to the correct place. This feature is supported for the same domain and the external workaround when auto height is enabled. See this demo:
  • New: parent_content_css was moved to the free version to support better integration in webinarignition.
  • New: The setting single_save_button was removed from the code as it was not used anymore.
  • New: When switching a theme the ai content pages are removed as they would still use the old theme. They are recreated on the first usage again.
  • New: “Show content in iframe”: iframe_content_css and iframe_hide_elements are now directly rendered to the ai content pages! You do not need to use hide_page_until_loaded=”true” anymore as all elements are hidden right away! See the updated demo:
  • New: show_menu_link was removed from the plugin as this was added in the very beginning where the plugin was version small. Now advanced iframe is always shown in the main menu.
  • Fix: The timeout of the version check was reduced to 10 sec so in case the server does not respond properly the administration still works fine.


  • New: New feature: Show content in iframe: Support of src=”page” which which generate custom content pages from the normal content and put it in an iframe. See for the documentation. WebinarIgnition is using this feature already. See for more details
  • New: onload_resize_delay does now also support all modifications that are done on the parent. So e.g. change targets/links can be delayed as well. You can use this if content is loaded later by Ajax and this also should be modified!
  • New: iframe_content_css is now part of the free version.
  • New: shortcode_atts supports now ‘advanced_iframe’ as third parameter. So a filter will be available where you can overwrite attributes dynamically in custom code if needed:
  • Fix: show_iframe_as_layer does now first unregister all onclick events on the elements you select so that double actions are not executed. e.g. like 2 pop-ups are opened at the same time.


  • Fix: Parameters with 0 (e.g. gid=0) where removed because of the default behavior of array_filter. Now a custom filter which does only remove empty parameters is used.


  • Fix: A string was concatenated with + instead of the proper . of php that causes the plugin to fail. Please update asap!


  • New: Improved the documentation of the full screen button
  • Fix: A change in 2023.3 broke the standalone version. This is now fixed in 2023.4.


  • New: With the fullscreen_button_style you can define now 4 styles for the fullscreen buttons. “black” is the default. “black2” a different black version. White and custom are also available. See
  • New: ai.min.js was minimized on the fly and the not minimized version was overwritten. Wordfence was reporting this as an issue as this file is different to the one on WordPress. Therefore the minimized version is now already minimized in the zip and only updated when you change ai.js by yourself.
  • Fix: When lazy load was enabled, the iframe did not show in the block editor, as the show trigger was missing. Now this feature is simply disabled in the preview, as there it is of no sense anyway.
  • Fix: The views counter for the pro version was not displayed properly on the options tab. Now it counts and also resets after 1 month like the free version.


  • New: Real fullscreen. The setting fullscreen_button_full enables the browser fullscreen. See:
  • New: fullscreen_button_hide_elements does now hide the elements by CSS and JavaScript. By CSS was not working e.g. for google ads as they have inline styles with !important that can not be overwritten.
  • New: Added “Left top corner” and “Left bottom corner” to the selection for the fullscreen button.
  • Fix: Added shortcode attribute to the description of fullscreen_button_hide_elements
  • Fix: Added !important at the style for display:none that should hide elements in fullscreen mode when the button is used. This enables that is also works where !important is also defined at the element which should be hidden.
  • Fix: iframe_url_id only shows an error now if the page is in an iframe and the mandatory parameter is not set.
  • Removed: removed aiLoadExternalConfig from the external workaround. It was deprecated for 2 years now.


  • New: Compatible with WordPress 6.2 – The editor block was broken as WordPress changed an internal structure.
  • New: The fullscreen button was enhanced. You can now hide additional elements which are still over the iframe. See the documentation of fullscreen_button_hide_elements
  • New: Improved documentation. Added “How to find the id and the attributes”. where needed.
  • New: Missing purchase code message is now shown as general message
  • Fix: The Javascript minimizer changed their URL. Now the new one is used.
  • Fix: During search the help page is fully available now. This enables, that the links to the help section works properly.
  • Fix: auto_update_plugin filter was improved to not show a warning if “$item->slug” is not set.
  • Fix: Deprecated message in printReferrerpolicy fixed.


  • New: hide_part_of_iframe does now support position:fixed. This enables this feature also to work together with fullscreen iframes. Adding an f (position:fixed) in front of the zIndex has to be used to enable this.
  • New: The CSP header detection is now checking next to SELF and NONE also for the domain itself at the frame-ancestors.
  • New: The url/hash cache for rewrite urls can now be deleted in the administration if needed. Please note that this cannot be reverted.
  • New: Improved documentation of “Prefix/id/urlrewrite for iframe URL”. Contact the support for individual solutions.
  • Fix: The disabling of the auto updater in the pro version was rewritten to the examples WordPress provided.
  • Fix: aiModifyParent was loaded directly and on jQuery.ready. When loaded directly some elements are maybe not ready yet and an error was shown in the browser in console the .css is not a query function. Now this error is catched


  • New: Tested with WordPress 6.1.1
  • Fix: “Undefined array key” warnings when updating to php 8.x. If the database does not contain the required values now defaults are stored always during activation. Before it was only saved if no values where present.


  • Fix: hide_content_until_iframe_color was causing an “Too few arguments …” error. This is fixed now.
  • Fix: addAdminHeaderCode is now using getAiAdminOptions instead of get_option. This does then always load the defaults even when the data could not be loaded from the database.


  • New: The HTML attribute refererpolicy is now available in the administration and as shortcode attribute.
  • New: Custom attributes can be added on the basic attributes page and in the shortcode. The shortcode attribute for this is custom=””. e.g. custom=”data-custom=’data1′ data-custom-2=’data2′” if you like to add 2 custom attributes. See for an example.
  • New: Check all iframes is now also checking Gutenberg pages and display the page type in the tool-tip. Also normal HTML iframes are detected. So you can replaced them with advanced iframes.
  • New: src which are only numbers are now marked as invalid in the “check all iframes” feature.
  • New: Some themes like Twenty Twenty-Two required an additional p around the iframe to be placed properly. To render this element you can set now add_surrounding_p=”true”.
  • New: Enhanced the documentation of the HTML property “allow”.
  • New: Enhanced registration message. The message cannot be removed permanently anymore as not all features are available anymore if have not entered it.
  • New: Invalid purchase codes are removed and not only a message is shown.
  • New: Enhanced sub domain documentation for the upcoming change in chrome 109 – see:
  • New: Tested with WordPress 6.0.2
  • Fix: replace_query_data which is used in the placeholder replacement like param={query-param} was using a non static method in a static context. This is not supported since php 8.0 anymore. This was causing a “Fatal error: Uncaught Error: Non-static method … cannot be called statically” error.
  • Fix: The standalone version file was missing a “,” in the settings section that made the whole version failing.
  • Fix: check_iframe_batch_size new default is now 20 as the 100 before was not reliable enough.
  • Fix: The link in the registration message was linked to the wrong part of the options tab. Now it goes directly where you can enter the purchase code.
  • Fix: When saving a post the url was not checked even it was not enabled. Now ai_checkUrlStatus is called properly when the classic editor is used.


  • New: Tested with WordPress 6.0
  • New: fullscreen_button does now also support top_left and bottom_left to show the fullscreen button also on the left. Currently this can be only set in the shortcode.
  • Fix: The documentation of debug_js was wrong. debug_js=”false” disables the debug console. Actually everything except false enabled it. Now only “bottom” does enable the debug console.
  • Fix: change_iframe_links was not supporting a ‘ in the jquery selector like a{{href^=’’}}. Now ‘ is supported and also {{ }} are replaced properly with []


  • Fix: The WordPress theme Twenty Twenty-Two evaluates shortcodes before the body only. The advanced iframe pro optimization to prevent this leads to the issue that the iframes are not shown there! The optimization is now disabled by default and can be enabled on the options tab at “Technical options” -> “Prevent early shortcode execution”. At the description you find the instructions how to check if the optimization will improve your site.
  • Fix: When the setting loading (default HTML lazy loading) to false the loading HTML attribute was still rendered. Now it is not rendered anymore like described in the documentation.
  • Fix: In 2022.3 the optimization for the timeout was containing a bug for the resize. This is now fixed.
  • Fix: aiRemoveFile does now also have a nonce and the check for it. This is no security issue as deleting an already deleted file causes no problems.


  • New: Fullscreen button on the iframe. Enabling this will add a button on the iframe where you can switch between a normal and a fullscreen iframe like youtube videos. It does support top, bottom and also if a scrollbar is in the iframe: top_scroll and bottom_scroll. See:
  • New: All features that modifies the iframe content (hide, modify css, onload_show_element_only, change targets/links …) can now also be delayed with onload_resize_delay on the same domain. For the external workaround this was already implemented.
  • New: If enable_lazy_load is enabled the HTML lazy loading is disabled as it does not make sense to have both.
  • Fix: When you enter the URL directly in the administration WordPress replaces & with & This now replaced again by & internally again.
  • Fix: “Support WP multi site” was not working in all situations when the iframe communication solution was used. It is now only supported when using postMessage and removed for the iframe communication. As this feature is part of the pro version where postMessage is the recommended solution anyway, only users should be affected who forgot to switch to postMessage.
  • Fix: Resize on element resize was bound to one variable name for all iframes. Now every iframe on the page gets its own one. This prevents that 2 iframe overwrite the resize method of the other one.
  • Fix: Resize on element resize and lazy load could lead to an error as a variable was not reinitialized when the iframe code is added to the page.


  • Fix: The title was set to a space on all pages if use_iframe_title_for_parent was activated. And only on iframe pages it was set properly. This part of the feature was now removed again.


  • Fix: use_iframe_title_for_parent was rending in the free version the Javascript variable where a backup of the title is stored into the title tag. This does actually work for normal users. Still this not very nice at all.
  • Fix: use_iframe_title_for_parent was only partly working when SEO plugins where active which also modified the title. Now the hook pre_get_document_title is used to get the current title.


  • New: Advanced iFrame now has out of the box support for embedded 3D models using the p3d 3D viewer. Go to and download a pre-configured plugin where the model does scale already nicely on all devices. Get started for free! If you need more storage or access to the Premium features of, you can get a 50% discount on your first payment with the coupon AIFRAME on checkout.
  • New: iframe_height_ratio is now available in the free version! This enables you now to include responsive videos without the pro version. See the demo here:
  • New: iframe_height_ratio can now also be defined in a more common way: 16:9. The ratio with : as separator. The old way was the other way around 0.5625. Both settings are still supported. See the demo here:
  • New: You can use the title of the iframe for the parent. After the iframe is loaded the title will be updated in the browser. This feature works on the same and the remote domain with the external workaround. The attribute for the shortcode and the external workaround is: is use_iframe_title_for_parent. Working examples can be found as part of this demos 32 and 33
  • New: Minimizer is back. Now the new URL is used and also a fall back was implemented which uses now the the not minimized file in case of a problem.
  • New: Improved validation of change_iframe_links. if change_iframe_links is empty but other settings are done an error is reported
  • New: Improved validation of iframe_content_id and iframe_content_styles. Now also a error is shown when iframe_content_styles is set and iframe_content_id not.
  • New: , is now trimmed at the beginning and the end of all attributes. , at the end of jquery selectors make them invalid otherwise.
  • Security fix: ai_config_id in the administration was not validated properly on the server. Now the regex only allows a-zA-Z0-9_- as id like it was intended.
  • Security fix: The nonce is now also checked for all file creation operations requests where config/css/js files can be generated. Before it was only used when the normal config was saved.
  • Fix: The onload setting was not handling quotes properly anymore. They got replaced by ‘ because of a new general filter and this broke the onload settings because ” where required. Now the input accepts ” and ‘ and does convert them to ” before usage. It can now also be used in shortcodes with ‘.
  • Fix: When using the loading icon together with less then 100% in % the % where added twice. So 50% where at the end 25% as it was applied to the icons div and the iframe. Now 50% are 50%.


  • Fix: The minimizer for ai.js changed the url and therefore minimized files where broken. The minimizer is now disabled until I find a new more reliable one. Please update asap. You administration will not work anymore! Please uninstall and install the new version. Sorry for the inconvenience.


  • Fix: Setting hide_content_until_iframe_color was causing a problem in the Gutenberg editor as there some code was rendered into the json response. Now in editor mode this part is rendered later and in normal mode still where it needs to be to work properly. The div which hides the whole page needs to be rendered before the plugin itself because otherwise you first see the page for a small time and then the page is hidden. And this is exatly what the feature should prevent!
  • Fix: Version numbers where not updated in 2021.7. It was still showing 2021.6 in the header.


  • New: Tested with WordPress 5.8
  • Fix: Updating failed: The response is not a valid JSON response. The detection for duplicated ids and the time debug was moved to be rendered later. This fixes the problem with e.g. the Oyxgen builder when included on the admin site and configuration errors are rendered to the Javascript console. Also some plugins together with the Gutenberg block editor show a JSON error. They execute the shortcode because of ?? and where triggering this error.


  • New: “Iframe redirect url” does support now several urls. So you can allow more than one page to include it. The first url is used if someone does open the page in the iframe without parent.
  • Fix: When “change url parameter” is active there was a conflict if you added a 2nd iframe to the page. The needed method was overwritten. Now it is only rendered when needed.
  • Fix: When “change url parameter” is active the internal console log sending parameter does now not trigger an url change anymore
  • Fix: Empty parameters at “change url parameter” are now removed. So urls look nicer.
  • Fix: Uls that contain something like ?s[a][0][b]=test&s[a][0][c]=test2 where not parsed properly inside the replace parameter function. This is now fixed. If such constructs are found the url will not be touched
  • Fix: When bbcode style is used [advanced_iframe]your src[/advanced_iframe] wordpress repaces & with & This now replaced again by & internally again. Otherwise the # detection will not work properly.


  • New: New replace parameter {requesturi}: The full request uri from the parent is added to the iframe. So everything behind the domain will be added to the iframe! E.g. ->, ->, ->
  • New: When debugging external post messages the received message is now printed to the console log.
  • New: The plugin version is now added automatically to the ai_external.js + ai.min.js
  • Fix: Some setups could have “parent.postMessage” not found in the ai_external.js.
  • Fix: When using Gutenberg a was rendered too much in some cases. Thanks to harrinsonmb who found the issue.
  • Fix: Undefined variable $debug_js … fixed when all-in-seo is installed and E_WARNING is enabled.


  • New: Improved documentation of “Show only one element” and of “URL forward parameters”
  • New: The auto update link on the right which is available since WP 5.5 is now disabled for the pro version. For automatic updates for codecanyon please use
  • New: Generated files are now only generated when advanced iframe was updated. The code introduced in 2021.2 was running on each update!
  • Fix: php 8 issue “Call to undefined function printError()” not found fixed. Happened also during update of other plugins as the new hook to generate missing files is triggered there as well.
  • Fix: Disable output during update. Errors/warnings are only shown inside the plugin.
  • Fix: Error in hashrewrite fixed. After refactoring a method needs to be called differently.
  • Fix: The origin check url for post messages was invalid as during refactoring a ! was deleted by accident. Now this works fine again. If no origin check url can be detected now the origin check is disabled. This fix is important as the external woraround with auto heigt was not working anymore in some situations!
  • Fix: Add url to param was not always adding https correctly. This caused the “Http iframes are not shown in https pages in many major browsers…” message for some users.


  • New: Tested with php 8 and WordPress 5.7.1
  • Fix: Fatal error with php 8 fixed!
  • Fix: Handle cannot be saved issue with php 8 fixed.


  • New: The Javascript debug mode does now enable the debug mode of the post communication and the debug mode of the ai_external.js automatically. This improves quick help a lot, as this can be enabled by parameter.
  • New: ?aiEDC=true can be also used to enable the debug console. ?aiEnableDebugConsole still works.
  • New: Two log levels instead of one are used now: .log() for info. .error() for configuration errors.
  • New: Optimzed performance when reading the options
  • New: Check for duplicate ids. As a duplicate id causes errors a new check was added that prints this problem into the console.
  • New: Optimized performace when you use AOSEO! They do execute shortcodes to get data for titles/descriptions. This leads to the problem that each shortcode get executed up to 3 additional times! Now the rendering of advanced iframe is limited to the body section and only a is added when debug mode is active. So if you check your source code and see this comment your page is now a little bit faster :). This is also reported as bug at AOSEO as they should cache this rendering and not execute it up to 3 times. On my demo page it happens in total 24! times. See: view-source:
  • New: Added an “Advanced iframe checklist”. Read this first to have an optimal start:
  • New: Improved editor button. Now a updated way to insert the shortcode is used which should support most possible scenarios
  • New: ai.min.js is now default. If is only 48k instead of 79k.
  • New: ai.js/ai.min.js have now a debug mode. If you enable the internal debugger also ai.js does print additional messages which Javascript is called. this is very helpful especially if you have problems with the auto height on mobile devices.
  • New: Standalone jQuery version was updated to jQuery 3.5.1
  • New: Code refactorings. Some code was extracted nicely to classes. Further refactorings will follow in the next releases.
  • New: ai.min.js and ai_external.js are recreated after update to have the latest versions always.
  • New: All internal images where optimized.


  • New: Tested with WP 5.7
  • Fix: 3 links in the administration fixed.
  • Fix: Auto popup demo was not working on https. Now this also works.


  • New: Open iframe in layer after page is loaded. This can be useful to e.g. display something special as a kind of popup. See:
  • New: Open a iframe directly by adding the id of the links as hash to your url e.g. #id-to-open: See
  • New: Delay the auto popup by a given time. See
  • New: Open the auto popup only once for a given time! A cookie is set if the iframe was shown already! See:
  • New: Add iframe params to parent -> this is another version of the “Add iframe url to parent”. The difference to the existing solutions is that only the parameters are added to the parent url. To make it work you also have to use placeholders in the url or the “Forward params to iframe” features. The advantage of this solution is that the parent url and the iframe url look basically the same. In the existing solutions you either have the full iframe url + params, a short iframe url + params, a hash or a url rewrite with the hash. See and how this looks like.
  • New: “Change parent links target” can now also make the clicked links as bold. You can also add a specific style class if you like. See
  • New: SameSite Fix for WordPress. Please see for details.
  • New: When you change the link target to _blank then automatically rel=”noopener” is added because of security. Ask google if you like to get more details here. See:
  • New: Better wrong config detection. Some parameters only work fine if you define both. Some more checks where added to tell you this right away.
  • Fix: If an url does contain a # it is normally treated as a anchor. Internally a split was done to add additional parameters – but only the first element was added again. Now all elements are added again.
  • Fix: & = & and " = ? are preserved in the src.
  • Fix: Open iframe in a layer with Add the iframe to all pages was only working when the ai.js was loaded on the header. Now it also works when included in the footer which is default.
  • Fix: input fields changed ‘ into ” in the administration – exactly the other was around was needed! This is needed for more enhanced jquery selectors!
  • Fix: Many links in the administration where broken because of a replace issue. They are now all fixed again.
  • Fix: Using // as start the url (to support http and https) was causing the “add url to param” feature to already add the url even if not needed.


  • New: Added a new warning when using document.domain! Some plugins like elementor crash when this is set.
  • Fix: Pressing the return button in the administration was giving a “filename not valid” message as the first submit button is the form was the one creating a custon file. Now I changed this to the default “Update Settings” button that makes more sense.
  • Fix: iframe_redirect_url was only working after the first page load. Clicking inside the iframe was also redirecting. Please note! If the user clicks inside the iframe to another domain the redirect is triggered! So the only change of a domain which is allowed is the one from your parent domain to the iframe domain!
  • Fix: Demo link in the plugins section fixed.


  • New: Hide URL in HTML. With hide_src you can now hide the real url in the html code. The url is replaced by a link to a script …