我很难在插件中包含jquery ui脚本和样式。看来我的wp_enqueue_script
只会忽略调用。
现在已经有很多类似的问题了,但到目前为止,我找到的所有答案都可以归结为wp_enqueue_script
内部wp_enqueue_scripts
动作钩,我已经在做了。
在类的构造函数中,我调用:
add_action( \'wp_enqueue_scripts\', array($this, \'enqueue_scripts\') );
然后,如下所示:
public function enqueue_scripts()
{
wp_enqueue_script( \'jquery-ui-core\', false, array(\'jquery\') );
wp_enqueue_script( \'jquery-ui-widget\', false, array(\'jquery\') );
wp_enqueue_script( \'jquery-ui-mouse\', false, array(\'jquery\') );
wp_enqueue_script( \'jquery-ui-accordion\', false, array(\'jquery\') );
wp_enqueue_script( \'jquery-ui-autocomplete\', false, array(\'jquery\'));
wp_enqueue_script( \'jquery-ui-slider\', false, array(\'jquery\'));
我已经检查了代码是否在每次页面加载时都会执行。然而,页面缺少
<link>
jquery ui库的标记。我已经试过了
jquery
在的第三个参数中显式指定的依赖项
wp_enqueue_script
呼叫。
我还尝试了一个普通的WP 4.8安装,除了我的插件外,没有安装其他插件,并且只有默认的2017主题。没有骰子。
我的代码怎么了?
SO网友:Greg Perham
如果您将自己的脚本排队,只需添加\'jquery-ui-accordion\'
, 例如,到依赖项列表。将自动添加所有必需的依赖项。示例:
wp_enqueue_script( \'my-theme\', get_stylesheet_directory_uri() . \'/js/theme.js\', array( \'jquery\', \'jquery-ui-accordion\' ) );
将生成此代码:
<script type=\'text/javascript\' src=\'/wp-includes/js/jquery/ui/core.min.js\'></script>
<script type=\'text/javascript\' src=\'/wp-includes/js/jquery/ui/widget.min.js\'></script>
<script type=\'text/javascript\' src=\'/wp-includes/js/jquery/ui/accordion.min.js\'></script>
<script type=\'text/javascript\' src=\'/wp-content/themes/theme/js/theme.js\'></script>