1

Я включил Twitter Bootstrap с помощью моей страницы параметров темы в WordPress, чтобы помочь создать страницу параметров темы. Раньше, когда я деиндикационировал jQuery и добавлял свою собственную версию, весь код работал с $, потому что мне не пришлось беспокоиться о том, что WordPress всегда использовал приложение jQuery, я мог бы просто использовать $ и быть с этим.Как сделать работу jQuery в области администратора?

К сожалению, вы не должны де-регистрировать jQuery, даже если это делается только на ваших собственных страницах администрирования.

Так что я огляделся для некоторых способов еще используют $ в JQuery и написал:

(function($){ 
    $(document).ready(function(){ 
     $('.posts').click(function(){ 
      if ($(this).attr("id") == "list"){ 
       $('.sectionLists').show(); 
      } else { 
       $('.sectionLists').hide(); 
      } 
     }); 
}); 
})(jQuery); 

Там нет ошибок консоли - в моем коде, но ни один из моих зависимых функций Twitter Bootstrap Javascript не работает , такие как Popovers, Tabs или что-то еще в этом роде, и вышеприведенный код даже не работает.

Однако, если я вставляю его в консоль Chrome и нажимаю enter, он работает так, как должен.

Что происходит?

ответ

1

Возможно, вы пытаетесь вызвать jQuery перед его загрузкой - вот почему он не работает на странице, а работает на консоли.

Вы добавляете зависимость jQuery, как показано ниже, и как показано в Codex по адресу wp_enqueue_script?

function iamb_inc_bootstrap() { 

    wp_register_script(
     'js_bootstrap', 
     get_template_directory_uri() . '/bootstrap/js/bootstrap.min.js', 
     array('jquery'), 
     '20130219', 
     true 
    ); 

    wp_enqueue_script('js_bootstrap'); 
} 
add_action('wp_enqueue_scripts', 'iamb_inc_bootstrap'); 
1

Игнорирование correct way из enqueueing скриптов и таблиц стилей, это то, как я всегда делаю это:

add_action('admin_footer', 'wpse_46677_change_menu_item'); 

function wpse_46677_change_menu_item() 
{ 
    ?> 
     <script type="text/javascript"> 
      jQuery(document).ready(function($) { 
       $("#menu-appearance") 
        .find("li:contains('Header')") 
        .html('<a href="themes.php?page=custom-header">My Text</a> '); 
      });  
     </script> 
    <?php 
} 

От this WordPress Answer.

Смежные вопросы