我想使用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&§ion.offsetTop <= fromTop&&section.offsetTop + section.offsetHeight > fromTop ) {
link.classList.add("current");
} else {
link.classList.remove("current");
}
});
});</script>
[我相信您可以通过将以下内容添加到您的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()
语句,因为如果在全局范围内应用此语句,它可能会像平时一样停止使用代码块,因为它将把它们呈现为浏览器将解释的文字代码。