我们一直在开发一个Wordpress主题,偶然发现了一个奇怪的问题。 bootstrap.js显示的弹出窗口会出现几分之一秒然后消失。经过深入研究后,我发现问题是由一个插件引起的,该插件也使用了bootstrap.js。加载了两个bootstrap.js,一个来自我们的主题,另一个来自插件。如何避免这种冲突?
答案 0 :(得分:1)
解决方法是检查bootstrap.js是否已经入队。我已将以下内容添加到主题的functions.php中:
function enqueue_scripts() {
// Check if bootstrap is already there
$bootstrap_enqueued = FALSE;
foreach( $wp_scripts->registered as $script ) {
if ((stristr($script->src, 'bootstrap.min.js') !== FALSE or
stristr($script->src, 'bootstrap.js') != FALSE) and
wp_script_is($script->handle, $list = 'enqueued')) {
$bootstrap_enqueued = TRUE;
break;
}
}
if (!$bootstrap_enqueued) {
wp_enqueue_script( 'theme-bootstrap-js', get_template_directory_uri() . '/js/bootstrap.min.js', array(), '2015', true );
}
// Note the last parameter. It's important to be the last in the list of hooks
add_action( 'wp_enqueue_scripts', 'enqueue_scripts', PHP_INT_MAX );`