WordPress交换&& JS编码的HTML 标签

问题描述 投票:1回答:1

我想使用HTML代码块在脚本标签中包装一个JS函数,从而在页面上实现一个简单的脚本。

但是,当呈现它时,它使用&&运算符并将其转换为与符号(&&#038)的HTML字符代码。我试图缩小它,更改条件语句,但是我无法使其运行。我知道代码很好,因为我在控制台中对其进行了测试,并且效果很好。我认为当Wordpress处理它时,只会出现某种问题。

下面是我要实现的代码

<script>
const mainNavLinks = document.querySelectorAll(".wp-block-senff-sticky-block ol li a");
      window.addEventListener("scroll", event => {
        let fromTop = window.scrollY - 600;
        mainNavLinks.forEach(link => {
          let section = document.querySelector(link.hash);
          if ( section !== null && section.offsetTop <= fromTop && section.offsetTop + section.offsetHeight > fromTop ) {
            link.classList.add("current");
          } else {
            link.classList.remove("current");
          }
        });
      });
</script>

Here is the output:

<script>
const mainNavLinks = document.querySelectorAll(".wp-block-senff-sticky-block ol li a");
      window.addEventListener("scroll", event => {
        let fromTop = window.scrollY - 600;
        mainNavLinks.forEach(link => {
          let section = document.querySelector(link.hash);
          if ( section !== null&&section.offsetTop <= fromTop&#038;&#038;section.offsetTop + section.offsetHeight > fromTop ) {
            link.classList.add("current");
          } else {
            link.classList.remove("current");
          }
        });
      });</script>
javascript html wordpress wordpress-gutenberg
1个回答
0
投票

[我相信您可以通过将以下内容添加到您的functions.php文件中来停止转换实体来停止此操作。

function force_decode_entities( $content ) {
  //Ensure this only runs on a specific page of your choice
  if( is_page('your-page-slug-here') ) {
    return decode_entities( $content );
  }
  return $content;
}

add_filter( 'the_content', 'force_decode_entities', 1 )

我添加了if()语句,因为如果在全局范围内应用此语句,它可能会像平时一样停止使用代码块,因为它将把它们呈现为浏览器将解释的文字代码。

© www.soinside.com 2019 - 2024. All rights reserved.