1

我对 WordPress 有一个奇怪的问题,其中我的关于页面上有一个锚标签,如下所示:

<h2><a id="comments">Why No Comments?</a></h2>

当我像这样在页脚中链接到它时:

<a href="<?php echo home_url()?>/about/#comments">Why no comments?</a>

它莫名其妙地解决了http://www.everydaytype.com/omments

这里会发生什么?

注意:当我手动导航到锚标记的 URL 时,也会发生同样的事情。

(参考:everydaytype.com

更新:我已经禁用了我的所有插件(我有一个在我的标题中操作链接的插件),这种情况仍在发生。

4

1 回答 1

2

对于一个网站来说,这是一件非常奇怪的事情。

如果您将 url 加载http://www.everydaytype.com/about/#comments到浏览器中的查看源代码窗口中,您会发现它包含以下代码:

<script>if(window.location.hash) {
    var hash = window.location.hash;
    var hashtourl = hash.substring(2)
    window.location.href = "/"+hashtourl;
}</script>

这段代码完全符合您的描述。

我不知道它为什么会这样做,但这就是它正在做的事情。

我的猜测是它期待 a#!而不仅仅是 a #,因此删除前两个字符而不仅仅是第一个,但这只是一个猜测。如果这是它所期望的,它真的应该检查它而不是做出假设。

我想它一定是您不知道或认为您没有完全禁用的某些插件的一部分,或者其他什么。无论哪种方式,手头都有上面的代码应该可以帮助您找到它。

这就是我能做的所有帮助,但我希望它能让你朝着正确的方向前进。

于 2013-01-18T22:10:31.337 回答