gpt4 book ai didi

html - wordpress:添加

转载 作者:太空狗 更新时间:2023-10-29 13:16:49 24 4
gpt4 key购买 nike

大家好。我在 wordpress 网站上使用“amp”生成器,此插件的功能之一是在 </head> 之前添加一个 biolerplate 标签。和一个 <noscript>带有回退标记。谷歌搜索控制台不断警告我一个特定的错误:“强制性标签‘样板的 noscript 附件’丢失或不正确。”

所以我开始调查。我发现“某物”正在注入(inject) </head><body>就在 <noscript> 之前开始标签,如果我改变放置 noscript 标签的位置,其他两个也会被移动。

这是呈现的代码:

<style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style>
</head><body><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript>

我做了很多测试,似乎 <noscript>标记是此错误的要点。我还读过一些其他的答案,这些答案说文档不应该是严格的 xhtml 1.1,但事实并非如此,事实上,这些是页面上呈现的第一件事:

<!DOCTYPE html>
<html amp lang="it-IT"><head><meta charset="utf-8"><link rel="dns-prefetch" href="https://cdn.ampproject.org">

我想弄清楚我能做些什么来解决这个存在于许多网站上的错误,这些网站有不同的插件和主题(还有 wordpress 版本)。

更新:我试图手动添加 <noscript>代码中的标记,每次我将其添加到 <head> 中部分,该部分关闭,<body>部分被打开,没有任何类(所以它看起来像一个错误)。如果您想查看错误,只需到此处查找代码:

https://www.assistenzamalasanita.com/2015/07/errori-medici-durante-il-parto-come-si-valutano/amp/

更新 2禁用所有插件并切换到默认主题对此没有影响。此外,我已将整个站点复制到另一台服务器上,其中不存在问题,WP 站点是相同的,而且 serer 配置应该是,但是在正在运行的站点上我可以看到 HTTP 请求具有另一个站点没有的关于 php 版本 (7.0.2) 的属性。

这可能会影响页面的呈现吗??查看有效的网站: https://www.doors.it/iride/2017/10/risarcimento-malasanita/amp

更新 3这是插件的一部分,实际上是编写样板代码(其中有 head 和 body 错误的标签)。

add_action( 'amp_post_template_head', 'amp_post_template_add_boilerplate_css' );
function amp_post_template_add_boilerplate_css( $amp_template ) {
?>
<style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript>
<?php

}

您可能会注意到,整个 block 是一次性插入的,背后没有任何逻辑,页面应该按原样呈现(在该代码中,我尝试将标签更改为 <nonscript> 以及所有内容很好,head 标签没有关闭,body 标签在正确的位置打开,有正确的类。

最佳答案

正如评论和第三次编辑所说,这是由 Hook 函数引起的。幸运的是,这通常是一个非常简单的修复方法!

如评论中提到的@sally-cj,使用remove_action( 'amp_post_template_head', 'amp_post_template_add_boilerplate_css' );完全停止触发此功能。

如果我们不想在管理员中输入样式,您可以在您的主题代码中复制过滤器,而无需违规 </noscript>标签。

add_action( 'amp_post_template_head', 'so_52185596_custom_boilerplate_css' );
function so_52185596_custom_boilerplate_css( $amp_template ) {
?>
<style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style>
<?php

}

关于html - wordpress:添加 <noscript> 标签会使 <head> 标签自动关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52185596/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com