PluginProbe
Elementor Website Builder – more than just a page builder / 4.3.0-beta3
Elementor Website Builder – more than just a page builder v4.3.0-beta3
4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 4.1.0-beta1 4.1.0-dev1 All 452 releases
← All changes | core/base/document.php +17 -3 4.2.0-beta14.3.0-beta3 View file →
@@ -853,11 +853,9 @@
853 853 */
854 854 do_action( 'elementor/document/before_save', $this, $data );
855 855
856 856 if ( ! current_user_can( 'unfiltered_html' ) ) {
857 - $data = map_deep( $data, function ( $value ) {
858 - return is_bool( $value ) || is_null( $value ) ? $value : wp_kses_post( $value );
859 - } );
857 + $data = Utils::kses_post_deep( $data );
860 858 }
861 859
862 860 if ( ! empty( $data['settings'] ) ) {
863 861 if ( isset( $data['settings']['post_status'] ) && self::STATUS_AUTOSAVE === $data['settings']['post_status'] ) {
@@ -1873,8 +1871,12 @@
1873 1871
1874 1872 if ( $should_store_scripts ) {
1875 1873 $scripts_to_queue = array_values( array_diff( $wp_scripts->queue, $scripts_ignored ) );
1876 1874 $styles_to_queue = array_values( array_diff( $wp_styles->queue, $styles_ignored ) );
1875 + $styles_to_queue = array_values( array_filter(
1876 + $styles_to_queue,
1877 + [ $this, 'should_enqueue_cached_style' ]
1878 + ) );
1877 1879 }
1878 1880
1879 1881 $cached_data = [
1880 1882 'content' => ob_get_clean(),
@@ -1895,8 +1897,12 @@
1895 1897 }
1896 1898
1897 1899 if ( ! empty( $cached_data['styles'] ) ) {
1898 1900 foreach ( $cached_data['styles'] as $style_handle ) {
1901 + if ( ! $this->should_enqueue_cached_style( $style_handle ) ) {
1902 + continue;
1903 + }
1904 +
1899 1905 wp_enqueue_style( $style_handle );
1900 1906 }
1901 1907 }
1902 1908 }
@@ -1909,8 +1915,16 @@
1909 1915 }
1910 1916
1911 1917 echo $content; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1912 1918 }
1919 + }
1920 +
1921 + private function should_enqueue_cached_style( $style_handle ): bool {
1922 + if ( 0 !== strpos( $style_handle, 'elementor-post' ) ) {
1923 + return true;
1924 + }
1925 +
1926 + return (bool) wp_styles()->query( 'elementor-frontend', 'registered' );
1913 1927 }
1914 1928
1915 1929 protected function do_print_elements( $elements_data ) {
1916 1930 $this->update_runtime_elements( $elements_data );