| @@ -1869,10 +1869,10 @@ | ||
| 1869 | 1869 | |
| 1870 | 1870 | $this->do_print_elements( $elements_data ); |
| 1871 | 1871 | |
| 1872 | 1872 | if ( $should_store_scripts ) { |
| 1873 | - $scripts_to_queue = array_values( array_diff( $wp_scripts->queue, $scripts_ignored ) ); | |
| 1874 | - $styles_to_queue = array_values( array_diff( $wp_styles->queue, $styles_ignored ) ); | |
| 1873 | + $scripts_to_queue = $this->get_cached_asset_handles( array_diff( $wp_scripts->queue, $scripts_ignored ), 'scripts' ); | |
| 1874 | + $styles_to_queue = $this->get_cached_asset_handles( array_diff( $wp_styles->queue, $styles_ignored ), 'styles' ); | |
| 1875 | 1875 | $styles_to_queue = array_values( array_filter( |
| 1876 | 1876 | $styles_to_queue, |
| 1877 | 1877 | [ $this, 'should_enqueue_cached_style' ] |
| 1878 | 1878 | ) ); |
| @@ -1915,8 +1915,15 @@ | ||
| 1915 | 1915 | } |
| 1916 | 1916 | |
| 1917 | 1917 | echo $content; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped |
| 1918 | 1918 | } |
| 1919 | + } | |
| 1920 | + | |
| 1921 | + private function get_cached_asset_handles( array $rendered_handles, string $asset_type ): array { | |
| 1922 | + $page_assets = $this->get_meta( Assets_Iteration_Action::ASSETS_META_KEY ); | |
| 1923 | + $saved_handles = is_array( $page_assets ) ? ( $page_assets[ $asset_type ] ?? [] ) : []; | |
| 1924 | + | |
| 1925 | + return array_values( array_unique( array_merge( $rendered_handles, $saved_handles ) ) ); | |
| 1919 | 1926 | } |
| 1920 | 1927 | |
| 1921 | 1928 | private function should_enqueue_cached_style( $style_handle ): bool { |
| 1922 | 1929 | if ( 0 !== strpos( $style_handle, 'elementor-post' ) ) { |