javascript - Glidejs 与 Wordpress
问题描述
我想为我的 Wordpresse 网站使用 Glide.JS。我阅读了文档,并为 WP 转置了解释。
https://glidejs.com/docs/setup/
我在我的主题文件夹中安装了“npm”,并且在我的 fonction.php 文件夹中编写了代码:
我在 single.php 中的代码:
<div class="glide">
<?php
$images = get_field('galery');
if( $images ): ?>
<div class="glide__track" data-glide-el="track">
<ul class="glide__slides">
<?php foreach( $images as $image ): ?>
<li class="glide__slide">
<a href="<?php echo esc_url($image['url']); ?>">
<img src="<?php echo esc_url($image['sizes']['thumbnail']); ?>" alt="<?php echo esc_attr($image['alt']); ?>">
</a>
<p><?php echo esc_html($image['caption']); ?></p>
</li>
<?php endforeach; ?>
</ul>
</div>
<div class="glide__arrows" data-glide-el="controls">
<button class="glide__arrow glide__arrow--left" data-glide-dir="<">prev</button>
<button class="glide__arrow glide__arrow--right" data-glide-dir=">">next</button>
</div>
<?php endif; ?>
</div>
<script>
import Glide from '@glidejs/glide'
new Glide('.glide').mount()
</script>
我有一个结果,但我的控制台中有这个错误:
未捕获的语法错误:导入声明只能出现在模块的顶层
我相信我的问题是在这个解释中,我不知道如何为 Wordpress
谢谢 !
解决方案
这是因为您在 single.php 的 script 标签中使用了 import 语句。如屏幕截图所示,您只能在 ES 模块中使用 import 语句。
因为您在functions.php 中将脚本排入队列,所以glide.js 是全局可用的,您应该从脚本标签中删除import 语句并且glide 将被初始化。
或者,您可以利用此处描述的 CDN https://glidejs.com/docs/setup/来托管代码。
推荐阅读
- mobile - 我可以使用除 MyApp 类之外的类来启动我的应用程序吗?
- linux - 如何获取shell命令的位置参数
- sql-server - 安装 SQL Server 2017 Developer Edition:如何修复 Visual Studio 运行时(库)“Microsoft Visual C++ 2019 X64 最低运行时”?
- blazor - 使用 jquery 的 Blazor 屏蔽输入不起作用
- java - 如何从 Java 创建 Kotlin 列表?
- pandas - 为什么运行 pandas_udf 时 Pyspark 失败?
- javascript - 角度搜索栏 this.items.filter 不是函数
- botframework - 使用 await context.PostAsync(reply) 发送多条消息时,有时会乱序接收
- android - 在 Apple Music Android 应用程序中实现时,如何设置工具栏标题从底部滚动显示?
- ruby-on-rails - 如何列出在 .save 操作中执行的所有回调?