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