如何正确链接 wordpress 主题下的引导脚本?

Posted

技术标签:

【中文标题】如何正确链接 wordpress 主题下的引导脚本?【英文标题】:How to properly link bootstrap scripts under wordpress theme? 【发布时间】:2021-05-03 13:05:33 【问题描述】:

我正在使用 Bootstrap 5 创建一个 WP 主题,但遇到了一个我无法解决的问题。我想将引导文件直接放入主题文件中。我已经用.css 文件成功地做到了这一点,但是.js 文件有问题。你们有没有人知道我做错了什么,像navbar-toggler 这样的元素不起作用?通过使用 CDN 在主题中包含 js 文件 <script src="_TEMP0_@5.0.0-beta1/dist/js/bootstrap.bundle.min.js" integrity="sha384-ygbV9kiqUc6oa4msXn9868pTtWMgiQaeYH7/t7LECLbyPA2x65Kgf80OJFdroafW" crossorigin="anonymous"></script>,一切正常。当我手动执行时,它不再起作用。

这是我的functions.php 文件的摘录:

function imago_theme_scripts() 
    wp_enqueue_style( 'google-fonts', 'https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;700;900&display=swap" rel="stylesheet', array(), null );

    wp_enqueue_style( 'imago-theme-style', get_stylesheet_uri(), array('imago-bootstrap-css'), '1.0.0' );

    wp_style_add_data( 'imago-theme-style', 'rtl', 'replace' );

    wp_enqueue_script( 'imago-bootstrap-popper', 'https://cdn.jsdelivr.net/npm/@popperjs/core@2.5.4/dist/umd/popper.min.js', array(), null, true );

    wp_enqueue_script( 'imago-bootstrap-js', get_template_directory_uri() . '/assets/bootstrap/js/bootstrap.min.js', array(), null, true );

    //wp_enqueue_script( 'imago-bootstrap-js', 'https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-alpha3/dist/js/bootstrap.bundle.min.js', array(), null, true );


add_action( 'wp_enqueue_scripts', 'imago_theme_scripts' );

我仍然尝试这种方式,将 popper.min.jsbootstrap.min.js 脚本替换为: wp_enqueue_script( 'imago-bootstrap-js', get_template_directory_uri() . '/assets/bootstrap/js/bootstrap.bundle.min.js', array(), null, true );,但不幸的是,这也没有改变任何东西。移动版导航仍然无法使用。

目录结构保存正确。 在第一个配置中,您可以看到根据文档将 `popper.min.js' 文件插入到 'bootstrap.min.js' 文件之前。

【问题讨论】:

【参考方案1】:

它们可能无法正常工作,因为您没有将 jQuery 包含到依赖项中。

wp_enqueue_script( 'imago-bootstrap-js', get_template_directory_uri() . '/assets/bootstrap/js/bootstrap.min.js', array('jquery'), null, true );

除此之外,它们正在加载,您的导航控制台显示... ...控制台中是否有任何错误?

【讨论】:

以上是关于如何正确链接 wordpress 主题下的引导脚本?的主要内容,如果未能解决你的问题,请参考以下文章

如何在functions.php(wordpress)中加载引导脚本和样式?

与 wordpress 集成的引导程序

wordpress中的自定义导航栏。如何正确设置样式?

如何在 WordPress header.php 中正确链接到 CSS?

Bootstrap 不适用于 wordpress 插件

WordPress爱导航主题 1.1.3 简约大气网站导航源码网址导航模板