問題描述
我想保持我的小工具使用的 javascript 和 css 樣式在他們自己的檔案 (而不是新增到主題) 。
但是,當邊欄實際使用該小工具時,我似乎無法獲取 wordpress 來新增它們。
我試過這個:
在 Class 宣告中,我新增了 2 個函式
class EssentielleRubriquesPosts extends WP_Widget {
function addFrontendCss(){
wp_enqueue_style('erw-frontend-css', ESSENTIELLE_RUBRIQUE_WIDGET_PLUGIN_PATH . 'css/EssentielleRubriqueWidget-frontend.css');
}
function addFrontendJavascript(){
wp_register_script('jq-hoverintent', PLUGIN_PATH . 'js/jquery.hoverintent.js', array('jquery'), '1.0',true);
wp_enqueue_script('jq-hoverintent');
wp_enqueue_script('jq-tools', PLUGIN_PATH . 'js/jquery.tools.js', array('jquery'),'1.0',true);
wp_enqueue_script('erw-frontend-js', PLUGIN_PATH . 'js/widget-frontend.js', array('jquery', 'jq-hoverintent', 'jq-tools'),'1.0',true);
}
並在 widget() 內部功能:
function widget($args, $instance) {
add_action( 'wp_print_scripts', 'addFrontendJavascript' );
add_action( 'wp_print_styles', 'addFrontendCss' );
}
但是這並沒有做任何事情
最佳解決方案
wp_print_scripts 和 wp_print_styles 鉤子在您的小工具功能之前被激發,所以這是不起作用的。
一個解決方案是將指令碼包含在頁尾中使用 wp_print_footer_scripts 鉤子,看看 Jan’s answer to a similar question
或者一個更好的解決方案來看看 Sorich’s answer to another similar question
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。