问题描述

我想保持我的小工具使用的 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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。