0
我們一直在開發一個Wordpress主題,並偶然發現了一個奇怪的問題。由bootstrap.js顯示的彈出窗口會出現幾分之一秒,然後消失。經過深入研究後,我發現問題是由也使用bootstrap.js的插件引起的。兩個bootstrap.js被加載,一個來自我們的主題,另一個來自插件。如何避免這種衝突?如何避免Bootstrap.js的雙重包含?
我們一直在開發一個Wordpress主題,並偶然發現了一個奇怪的問題。由bootstrap.js顯示的彈出窗口會出現幾分之一秒,然後消失。經過深入研究後,我發現問題是由也使用bootstrap.js的插件引起的。兩個bootstrap.js被加載,一個來自我們的主題,另一個來自插件。如何避免這種衝突?如何避免Bootstrap.js的雙重包含?
解決方案是檢查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);`
你好。我有同樣的問題。你能爲我提供一些指導嗎?這放在functions.php中?我需要重命名什麼?我正在使用Avada主題,並且遇到了Formidable Pro Modal Popup的問題。強大的Pro有wp-content/themes/Avada/assets/js/bootstrap.js可怕的Pro wp-content/plugins/formidable-modal/js/bootstrap.min.js – ryanb4614
在這種情況下,你必須更新functions.php Avada主題或在強大的彈出窗口中。在那裏,找到對bootstrap.min.js的引用並將其刪除或註釋掉。然後添加我在這裏發佈的代碼。儘管如此,請注意,Avada或Formidable的任何更新都會覆蓋您的更改。最好聯繫該軟件的開發人員,並要求他們將這些代碼包含到他們的軟件中。 – mikryz