問題描述

我想保持我的小工具使用的 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_scriptswp_print_styles 鉤子在您的小工具功能之前被激發,所以這是不起作用的。

一個解決方案是將指令碼包含在頁尾中使用 wp_print_footer_scripts 鉤子,看看 Jan’s answer to a similar question

或者一個更好的解決方案來看看 Sorich’s answer to another similar question

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。