努力让 JavaScript 在 WordPress 中工作

Struggling to get working JavaScript working in WordPress

提问人:Bryan F 提问时间:11/10/2023 更新时间:11/10/2023 访问量:22

问:

我正在尝试为我客户的 WordPress 网站添加高级功能,所以我转向了 WPCode,但即使我将其添加到全局标头、激活它、更新它、清除缓存、添加缓存插件等之后,该脚本在前端也无处可寻,基本的控制台日志甚至不会触发。

我说搞砸了,然后转向带有标签的自定义 HTML 代码块,这确实会触发基本的代码检查控制台日志,但代码永远不会找到我试图定位的带有自定义类的块。

代码已经下放到用类检查所需的块,并等待查看元素是否需要一段时间才能可用 --

<script>
   console.log('initial code running');
   window.addEventListener('DOMContentLoaded', () => {
       console.log('content loaded');

      // Function to check if the elements are ready
      const checkElements = () => {
         const titleText = document.querySelector('.title-text');
         const barberButton = document.querySelector('.barber-button');

         if (titleText && barberButton) {
            console.log('Elements are ready');
            console.log('titleText found');
            console.log('barber button found');
         } else {
            console.log('Elements are not yet ready');
            setTimeout(checkElements, 100); // Check again after 100 milliseconds
         }
      };

      // Start checking for elements
      checkElements();
   });
</script>

-- 但无论我等待多久,它们都不会显示,而且我已经检查了 [x] 次块是否附加了正确的类

header with class of title-text

将不胜感激任何见解、建议、向 wordpress.org 网站添加高级前端功能的替代方法等。

javascript css wordpress

评论


答:

0赞 DJ_Davey 11/10/2023 #1

JavaScript 的位置通常会影响它是否有效。在某些情况下,它需要在 html/CSS 定义之前执行,有些则需要在 html/CSS 定义之后执行。如果您在 WP 中使用片段插件,请查看是否有将其放置在页脚/正文标题中的选项,并查看其中一个是否有效。