如果您的自定义链接URL与示例中所写的完全相同,那么它应该可以正常工作。开头的“/”已经表示“站点根目录”,它应该在单次(第一次)单击时起作用。也许你已经安装了一些与菜单相关的插件,或者你的主题以某种方式改变了菜单URL。或者涉及客户端javascript。
当您将鼠标悬停在自定义菜单链接上时,在浏览器状态栏(左下角)中会看到什么URL?应该是这样的[site_root]/#services
.
UPDATE:
当WordPress安装在子目录中时/#services
将链接到错误的页面。无法添加[site_root]
菜单URL中的前缀,因此您可以使用或必须使用真实URL/PS/#services
(并且在更改网站根目录后必须全部更改)或者您可以添加过滤器,以自动为所有菜单项添加前缀,开头为/
. 请记住,如果您需要添加链接到real 站点根目录,必须使用完整URLhttp://something.ddns.net/
而不是/
.
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 );