出于某种原因,我正在编辑一个主题,404。每次加载页面时都会执行php模板,even though what was actually being displayed was perfectly normal, 无论是索引、单个帖子还是页面等。
我可以通过注意到我的小部件报告它们在每次页面加载时被调用呈现两次来确定这一点。
唯一的补救办法是从404中“返回”。php文件,因此它包含的所有代码都不会被不必要地执行(或直接删除)。
但现在我的网站没有404页。
How can I figure out why this is occurring? Like, a stack trace of events that show what triggers a call to the theme\'s 404 page?
<人力资源>
Edit: 好吧,在我绞尽脑汁之后,我确定这是由类似以下代码引起的:
$post_img_title_html = \'<span class="img-container"><img src="http://example.com/images/animationspotlight/\' . $thumb_name . \'" alt="\' . $post_title . \'" /></span>\';
基本上会导致
<span><img src="http://example.com/image.png" alt="Title" /></span>
但是。。。在我的测试环境中,此图像does not exist. 所以这只是一个典型的“破碎图像”显示。没什么大不了的?
为什么。。。这是否触发了对WordPress的调用,以完全“呈现”主题的404。php文件?同样,它发生在“幕后”,因为我在查看的页面上看不到404的迹象。但我不想让我的网站对整个404页面和它的小部件等进行所有这些额外的渲染/处理,什么都不做?。。。
是否有某种“404优先级”或“灵敏度”设置。我的意思是,我甚至不知道如何用语言来表达,这太基本了。
It does have to do with htaccess. As if I delete the file, the 404\'s don\'t occur. But of course, permalinks are broken. I re-save permalinks, pages work again, but every "not found" image results in the theme\'s 404.php being loaded. Gotta be a way around this?
SO网友:Jan Michael Wallace
我并没有完全了解这个问题,因为我没有足够的信息,或者您所做的任何故障排除都超出了从用户角度来看可能发生的情况,但我将在这里为您提供我最好的机会。
在出现404问题的任何情况下,始终尝试:(1)从WP仪表板重置永久链接。(2) 尝试重置。htaccess文件。
通过谷歌快速搜索这些故障排除步骤中的任何一个,应该可以找到如何完成每个步骤的指南。
如果这两个故障排除步骤都不能解决您遇到的问题,那么我建议您深入一点。要进一步解决此问题,我们需要更多信息,因此让我们尝试以下操作:
第1步。
启用wp\\U调试(https://wordpress.org/support/article/debugging-in-wordpress/) 因此,我们可以查看您正在查看的页面上是否存在任何刺耳的PHP问题。
当您看到所有小部件和插件都已启用的问题时,我还会尝试找出哪个模板正在为当前页面提供服务。这需要您添加一些代码。下面的链接对如何实现这一点进行了总结:
How do you find out which template page is serving the current page?
第2步。
然后,我会禁用所有小部件和插件;返回步骤1(上文)中确定的问题页面,查看问题是否仍然存在。如果是,请确定哪些模板为这些页面提供服务。(请注意,在小部件和插件被禁用后,为问题页面提供服务的模板是否存在差异)。
通过在每个场景中确定的模板代码,希望这将帮助您确定问题所在。
这不是一个完整的解决方案,但至少是一条让您开始的途径。添加有关您在上述步骤中发现的内容的更多信息,我很乐意进一步提供帮助。祝你好运,我希望这对你有帮助!