From 86320f01bb413a9f29bfc551b2a7424babcaa5a6 Mon Sep 17 00:00:00 2001 From: denisbaranov Date: Sun, 2 Feb 2020 22:50:01 +0200 Subject: [PATCH] Print editor scripts if they are not printed by default --- includes/admin/core/class-admin-enqueue.php | 35 ++++++++++++++++----- includes/admin/core/class-admin-metabox.php | 21 ++++--------- 2 files changed, 34 insertions(+), 22 deletions(-) diff --git a/includes/admin/core/class-admin-enqueue.php b/includes/admin/core/class-admin-enqueue.php index 3a15b2ce..09601894 100644 --- a/includes/admin/core/class-admin-enqueue.php +++ b/includes/admin/core/class-admin-enqueue.php @@ -98,6 +98,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Enqueue' ) ) { function enqueue_cpt_scripts() { if ( ( isset( $_GET['post_type'] ) && 'um_form' == $_GET['post_type'] ) || ( isset( $_GET['post'] ) && 'um_form' == get_post_type( $_GET['post'] ) ) ) { $this->um_cpt_form_screen = true; + add_action( 'admin_footer', array( $this, 'admin_footer_scripts' ), 20 ); } $this->post_page = true; @@ -267,13 +268,6 @@ if ( ! class_exists( 'um\admin\core\Admin_Enqueue' ) ) { wp_register_script( 'um_admin_modal', $this->js_url . 'um-admin-modal.js', array( 'jquery', 'editor', 'wp-util', 'wp-color-picker', 'wp-tinymce' ), ultimatemember_version, true ); wp_enqueue_script( 'um_admin_modal' ); - - if ( ! class_exists( '_WP_Editors', false ) ) { - require_once( ABSPATH . WPINC . '/class-wp-editor.php' ); - } - if ( ! did_action( 'print_default_editor_scripts' ) ) { - \_WP_Editors::editor_js(); - } } @@ -655,5 +649,32 @@ if ( ! class_exists( 'um\admin\core\Admin_Enqueue' ) ) { } + + /** + * Print editor scripts if they are not printed by default + * @return type + */ + function admin_footer_scripts() { + $CLASS = '\_WP_Editors'; + + if ( did_action( 'print_default_editor_scripts' ) ) { + return; + } + if ( did_action( 'wp_tiny_mce_init' ) ) { + return; + } + if ( has_action( 'admin_print_footer_scripts', array( $CLASS, 'editor_js' ) ) ) { + return; + } + + if ( !class_exists( $CLASS, false ) ) { + require_once( ABSPATH . WPINC . '/class-wp-editor.php' ); + } + + $CLASS::force_uncompressed_tinymce(); + $CLASS::enqueue_scripts(); + $CLASS::editor_js(); + } + } } diff --git a/includes/admin/core/class-admin-metabox.php b/includes/admin/core/class-admin-metabox.php index b3328eee..a066b7f9 100644 --- a/includes/admin/core/class-admin-metabox.php +++ b/includes/admin/core/class-admin-metabox.php @@ -1091,9 +1091,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) { if ( ! empty( $mode ) ) { $posts = $wpdb->get_col( - "SELECT post_id - FROM {$wpdb->postmeta} - WHERE meta_key = '_um_mode' AND + "SELECT post_id + FROM {$wpdb->postmeta} + WHERE meta_key = '_um_mode' AND meta_value = 'directory'" ); @@ -1149,9 +1149,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) { $mode = UM()->query()->get_attr( 'mode', $post_id ); if ( ! empty( $mode ) ) { $posts = $wpdb->get_col( $wpdb->prepare( - "SELECT post_id - FROM {$wpdb->postmeta} - WHERE meta_key = '_um_mode' AND + "SELECT post_id + FROM {$wpdb->postmeta} + WHERE meta_key = '_um_mode' AND meta_value = %s", $mode ) ); @@ -1180,15 +1180,6 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) { } } - -// echo '
';;
-//			echo '
$screen
'; -// var_dump($screen); -// echo '
$this->is_loaded
'; -// var_dump($this->is_loaded); -// echo '
'; - - // needed on forms only if ( ! isset( $this->is_loaded ) && isset( $screen->id ) && strstr( $screen->id, 'um_form' ) ) { $settings['textarea_rows'] = 8;