Enqueue и Dequeue из узлов панели администратора

Я разработал несколько узлов под моим настраиваемым родительским узлом на панели администратора. Во время навигации по интерфейсу и нажав на один узел, я хотел бы поставить в очередь некоторый файл css. URL должен оставаться. Во время навигации по интерфейсу и нажав на другой узел, я хотел бы удалить этот файл css. URL также должен оставаться. Это возможно и как? С уважением, И. Мани

Solutions Collecting From Web of "Enqueue и Dequeue из узлов панели администратора"

Из того, что я понимаю из вашего вопроса, ваш лучший способ действий – назначить узел функции обратного вызова WordPress с помощью встроенного AJAX. Если вы не знаете, о чем я говорю, вы должны ознакомиться с использованием AJAX в WordPress в Codex . Однако здесь приведен общий обзор шагов:

  1. Добавьте функцию в файл JS, который прикрепляет обработчик кликов к элементу узла администратора (должно быть # wp-admin-bar-node-name, проверить инструменты для разработчиков). Код не тестировался, но для пробных целей.

    jQuery(document).ready(function($){ $('#wp-admin-bar-node-name').on('click', 'a', function(e){ var data = { 'action': 'enqueue_my_style', }; $.post(ajax_url, data, function(response) { console.log('Got this from the server: ' + response); }); e.preventDefault(); }); }); 
  2. Создайте функцию PHP (в файле functions.php, вашем файле плагина или где угодно, чтобы сохранить и организовать функции PHP) с функцией обратного вызова (опять же, не проверенной)

     add_action('wp_ajax_enqueue_my_style', 'enqueue_my_style_callback'); function enqueue_my_style_callback() { wp_enqueue_style('my_style'); //Assumes you have already registered the style wp_die(); } 

Это должно заставить вас указывать в правильном направлении. Если вы хотите переусердствовать на другом узле, просто напишите другой подобный набор функций или напишите более сложный обратный вызов PHP и передайте данные с щелчка на функцию, используя объект data . Существует много ресурсов на то, как использовать AJAX в WordPress в Интернете, и этот пример не является настолько сложным.