Intereting Posts
После обновления страницы на всех страницах сайта использовался шаблон index.php Восстановить фоновое изображение заголовка с помощью AJAX Как создать бэкэнд для пользовательской темы? Каков наилучший способ обработки css для нескольких макетов заголовков / нескольких пользовательских файлов header.php? Разделение цикла на стиль сообщения по-разному WordPress плагин аддон Включение пользовательских типов сообщений в виджет «Последние сообщения» Добавление разбивки на страницы в пользовательский шаблон, который использует пользовательские типы сообщений? Невозможно передать переменную из запроса select в PHP Динамическая ссылка href на страницу контактов как запросить meta_value имеет массив Открыть галерею изображений по ссылке нажмите Как ранжировать персонализированный тип сообщения из очков Пользовательские таблицы или настраиваемые поля? Предупреждать пользователя о том, что данные могут быть потеряны для пользовательских страниц

Запуск TinyMCE

Я решил вытащить дублированный javascript из нескольких пользовательских файлов типа сообщения в один файл admin.min.js для использования на всех страницах администрирования. Пока у меня есть сценарий для загрузки. Это в моем scripts.php (я использую тему Roots)

// Add the admin css function custom_admin_style(){ wp_register_style('admin_css', get_template_directory_uri() . '/assets/css/admin.min.css'); wp_register_script('admin_js', get_template_directory_uri() . '/assets/js/admin.min.js'); wp_enqueue_style('admin_css'); wp_enqueue_script('admin_js'); } add_action('admin_enqueue_scripts', 'custom_admin_style'); 

Однако сценарии полагаются на плагин TinyMCE JS в комплекте с WordPress, поэтому я предполагаю, что этот скрипт вызывается перед плагином TinyMCE JS. Каков правильный способ загрузки плагина TinyMCE до этого или моего скрипта?

Вам нужно будет установить третий параметр wp_register_script() , который является параметром зависимости, $deps .

В вашем коде в настоящее время установлено значение false, которое на самом деле должно быть просто опущено или задано пустым массивом array() если это не требуется. В вашем случае вы установите это с помощью дескриптора скрипта, от которого вы хотели бы зависеть. Здесь вы можете добавить более одного дескриптора, если вам нужно, чтобы это зависело от нескольких сценариев

Ручка для крошечного сценария mce, поставляемого с wordpress, – tiny_mce , вы можете попробовать следующее:

 wp_register_script('admin_js', get_template_directory_uri() . '/assets/js/admin.min.js', array( 'tiny_mce' ) ); 

Это гарантирует, что ваш скрипт не загрузится до загрузки скрипта mine mce. Просто заметьте здесь, убедитесь, что ваши дескрипторы уникально названы так, что это вызовет проблемы, если есть другой скрипт, загруженный с тем же дескриптором

РЕДАКТИРОВАТЬ

Эта новая проблема, с которой вы сейчас сталкиваетесь, заключается в том, что крошечный скрипт mce не загружается на каждой странице, так и должно быть. Сценарии и стили не должны загружаться, если они не нужны на странице.

Это большая проблема с объединением скриптов, и теперь вы, скорее всего, будете загружать сценарии и стили, которые не нужны на некоторых страницах. Установка зависимости также не будет работать, потому что, как вы видели, на страницах, где крошечный скрипт mce не загружается, ваш пользовательский скрипт не загружается.

Единственное другое средство для этого – удалить зависимость, а затем использовать приоритет для своего действия, что-то вроде этого

 function custom_admin_style(){ wp_register_style('admin_css', get_template_directory_uri() . '/assets/css/admin.min.css'); wp_register_script('admin_js', get_template_directory_uri() . '/assets/js/admin.min.js'); wp_enqueue_style('admin_css'); wp_enqueue_script('admin_js'); } add_action( 'admin_enqueue_scripts', 'custom_admin_style', PHP_INT_MAX );