Intereting Posts
Как перевести сообщение об ошибке: ОШИБКА: Поле пароля пуст Как я могу обработать URL-адрес получателя запроса через ajax? Есть ли способ добавить пользовательский текст + ссылку над результатами поиска для разных поисков? Пользовательские правила перезаписи для страниц отображение значения мета-ключа с помощью wp_page_menu get_permalink возвращает исходный URL-адрес сайта вместо переданного URL-адреса пули Как показать полный пост, а не только выдержку Получить идентификатор комментария верхнего уровня Изменение размера изображений Поддерживаются ли функции WordPress $ wpdb, когда таблица заблокирована? Создаются ли плагины при каждом запросе WordPress? Фильтровать мета запрос Отображать содержимое из пользовательского типа сообщения, если оно соответствует основной категории сообщений Что я могу добавить в «большой» образ? Как отображать сообщения из пользовательского типа сообщения со стандартной категорией wordpress

jQuery Tree View и wp_list_pages

Я хочу использовать сценарий jQuery TreeView на wp_list_pages, чтобы получить хороший эффект сбрасываемого дерева.

Для сценария требуется добавить некоторые классы в элементы списка, такие как:

<ul id="red" class="treeview-red"> 

Поэтому я попытался поместить это в свой шаблон:

Во-первых, загрузите скрипты на моей странице шаблона через wp_enqueue_script ()

 wp_enqueue_script("av_jquery_tree"); get_header(); 

Где «av_jquery_tree» определяется в плагине:

 function av_jquery_tree() { wp_register_script('jquery.treeview', get_template_directory_uri() . '/js/jquery.treeview/jquery.treeview.js', array('jquery'), '1.0' ); wp_register_script('jquery.cookie', get_template_directory_uri() . '/js/jquery.treeview/jquery.cookie.js', array('jquery'), '1.0' ); wp_enqueue_script('jquery.treeview'); wp_enqueue_script('jquery.cookie'); } add_action('wp_enqueue_scripts', 'av_jquery_tree'); 

Во-вторых, чтобы добавить класс и id к первому элементу ul на странице, я просто вставляю этот скрипт над вызовом wp_list_pages:

 <script> jQuery(document).ready(function(){ jQuery("ul").first().attr("id", "red").addClass("treeview-red"); }); </script> 

К сожалению, мой вывод – это всего лишь красная линия по страницам wp_list_pages. Также имейте в виду, что я использую тему Suffusion Theme, которая предварительно загружает jquery .

Solutions Collecting From Web of "jQuery Tree View и wp_list_pages"

EDIT: после общения с AlxVallejo мы пришли к решению. Вот о чем мы говорили:

Вы неправильно использовали wp_enqueue_scripts hook и функции, которые идут вместе с ним, поскольку я сообщил вам, что эти перехватчики и действия должны выполняться в functions.php . Вы также обнаружили, что вы не инициализируете скрипт TreeView с помощью jQuery.

Журнал чата здесь, если у кого-то еще есть эта проблема, мы немного побеспокоились, и я объяснил несколько вещей, но в основном это все по ссылке ниже:

http://chat.stackexchange.com/rooms/2258/discussion-between-alxvallejo-and-jared


Как отметил кайзер, вы не должны добавлять или редактировать какие-либо файлы в ядре WP, поэтому включение сценария из wp-includes является no-no.

Кроме того, ваш jQuery запускается неправильно. Как и во всех jQuery, вы должны использовать что-то подобное, когда DOM готов (немного изменен для улучшения функциональности):

 <script> jQuery(document).ready(function(){ jQuery("ul:first-child").attr("id", "red").addClass("treeview-red"); }); </script> 

Но вы также можете просто сделать файл с именем jquery.treeview.addclass.js и поставить его в очередь (см. Ниже), используя WP, чтобы сделать это с помощью лучших практик.

И для скриптов, находящихся в очереди, попробуйте что-то вроде этого (при условии, что вы редактируете function.php активной темы):

 function my_enqueue_scripts() { wp_enqueue_script( "jquery" ); wp_enqueue_script( "jquery-treeview", get_bloginfo( "template_url" ) . "/path/to/jquery.treeview.js" ); } add_action( "wp_enqueue_scripts", "my_enqueue_scripts" ); 

Это просто вопрос неправильного использования этих языков / методов. Если ваша проблема по-прежнему сохраняется, обновите свой вопрос с дополнительной информацией о том, почему, и я расширю свой ответ (и удалю свой downvote).