首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Wordpress中为菜单创建动态URL?

如何在Wordpress中为菜单创建动态URL?
EN

WordPress Development用户
提问于 2020-01-31 05:30:50
回答 1查看 979关注 0票数 0

我的网站地址(网址)是http://something.ddns.net/PS。我有一个标题自定义链接菜单网址像这样的"/#services“。这将我带到当前页面上的位置,但我希望它带我到根页面上的位置。我是否可以使用一个变量来表示站点地址(URL)或WordPress地址(URL),例如"/#services"?

我需要这个,因为我想能够改变我的网站的网址,而不需要浏览所有的菜单和更改的URL。我希望菜单从Wordpress的设置中反映站点根目录。

相关问题:当我第一次单击链接时,它不会跳转到页面上的#services,为什么我需要在行中单击它两次?

编辑:为什么有人希望链接相对于根目录而不是站点地址(URL)?

EN

回答 1

WordPress Development用户

发布于 2020-01-31 11:25:50

如果您的自定义链接URL与您的示例中所写的完全相同,它应该会像预期的那样工作。"/“开头的意思是”站点根“,它应该在单点(第一次)单击时工作。也许你安装了一些与菜单相关的插件,或者你的主题在某种程度上改变了菜单URL。或者涉及客户端javascript。

当您在自定义菜单链接上悬停时,您在浏览器状态栏(左下角)看到了什么URL?应该是[site_root]/#services

更新:

当WordPress安装在子目录中时,/#services将链接到不正确的页面。在菜单URL中没有添加[site_root]前缀的方法,所以要么使用real使用真正的/PS/#services (并且在更改站点根目录后必须全部更改它们),要么添加过滤器来自动前缀以/开头的所有菜单项。请记住,如果您需要添加到<#>真实站点根的链接,则必须使用完整的URL http://something.ddns.net/而不是/

代码语言:javascript
复制
function my_nav_menu_link_attributes( $atts ) {
    if ( '/' == substr( $atts['href'], 0, 1 ) ) {
        $atts['href'] = site_url() . $atts['href'];
    }
    return $atts;
}
add_filter( 'nav_menu_link_attributes', 'my_nav_menu_link_attributes', 20 );
票数 1
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/357572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档