1

我在WordPress的主題選項頁面中加入了Twitter Bootstrap,以幫助設計主題選項頁面。之前,當我註銷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的引導的JavaScript相關的功能正在,如Popovers,Tabs或其他任何此類性質,上述代碼甚至不起作用。

但是,如果我將其粘貼到Chrome控制檯並按回車鍵,它就會按原樣工作。

怎麼回事?

回答

1

您可能試圖在加載之前調用jQuery - 這就是爲什麼它不能在頁面中工作,而是在控制檯中。

你是否加入了像下面這樣的jQuery依賴關係,並且如CodeWarrior 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,這是我怎麼總是做它:

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