diff --git a/source/php/Display.php b/source/php/Display.php index 1b0e8c17d..b7e7ff4f9 100644 --- a/source/php/Display.php +++ b/source/php/Display.php @@ -18,9 +18,8 @@ class Display public $options = null; private $isBlock = false; private $isRenderingModule = false; + private static $renderedShortcodeModules = []; private $isShortcode = false; // Flag to indicate if the current context is a shortcode. - - private static $sidebarState = []; //Holds state of sidebars. public function __construct() @@ -767,6 +766,10 @@ public function shortcodeDisplay($args) return; } + if (isset(self::$renderedShortcodeModules[$args['id']])) { + return self::$renderedShortcodeModules[$args['id']]; + } + //Get module details $module = \Modularity\Editor::getModule($args['id']); @@ -788,9 +791,11 @@ public function shortcodeDisplay($args) $moduleMarkup = apply_filters('Modularity/Display/Markup', $moduleMarkup, $module); $moduleMarkup = apply_filters('Modularity/Display/' . $module->post_type . '/Markup', $moduleMarkup, $module); + $moduleMarkup = '
' . $moduleMarkup . '
'; + self::$renderedShortcodeModules[$args['id']] = $moduleMarkup; $this->isShortcode = false; - return '
' . $moduleMarkup . '
'; + return $moduleMarkup; } /**