为什么WordPress会将菜单项的绝对URL转换为相对URL?

时间:2017-09-08 作者:Hunter Satterwhite

我想在为我的WordPress菜单创建自定义菜单链接时使用绝对URL,但当WordPress呈现菜单时,它会从href数据中删除域,并将其作为相对URL呈现。

例如,我在菜单中有一个自定义链接https://www.domain.com/about/. 在站点上呈现此菜单时,链接hrefhttps://www.domain.com/ 将href设置为about/.

我猜WordPress正在这样做,因为自定义菜单项的绝对URL中的域与WordPress安装的站点URL相匹配。我希望它不这样做,而只是将href数据呈现为绝对URL。

我查看了各种与WordPress菜单相关的操作和过滤器,但似乎找不到任何允许我在将href数据呈现为HTML之前覆盖此操作或对其进行最终检查和更正的内容。

如果您有任何关于如何做到这一点的建议,我们将不胜感激!

1 个回复
最合适的回答,由SO网友:Mihai Papuc 整理而成

Milo 在上面的评论中已经指出,Wordpress在默认情况下不会这样做,因此您的问题应该与您的主题或您正在使用的某个插件有关。

在排除故障之前,请确保执行完整的WP backup, 只是为了确保如果出现问题,您可以恢复到工作状态。

为了解决这个问题,你需要激活一个默认的WP主题(例如Twenty Seventeen). 如果这解决了问题,那么您使用的主题就是问题的根源。

如果您的主题通过了测试,请暂时保留默认的WP主题,然后停用所有插件。如果您的默认WP主题没有插件处于活动状态,您应该可以看到完整的URL(如果没有,则有人修改了WP核心文件-这绝对不是一个好主意)。然后,开始一个接一个地重新激活插件,看看哪个插件是导致问题的插件。

有关WP故障排除的更通用指南,请阅读本文:Beginner’s Guide to Troubleshooting WordPress Errors (Step by Step).

结束

相关推荐

Two urls for one website

我有一位客户,他用一个名为“firstname lastname.ch”的url开始了他的小生意。因为他很幸运能够成长,现在需要一个合适的URL,所以他希望自己的网站有另一个URL,名为“businessype lastname.ch”在没有太多管理和SEO问题的情况下,实现这一目标的最佳方式是什么。谢谢