首先-
我试着让它改变nav-menu-template.php
永远不要编辑核心文件!这总是个坏主意。充其量,当核心更新时,您将丢失更改。
为此,您可以使用nav_menu_link_attributes
过滤器以修改href
属性此过滤器将分别应用于每个菜单项。
在本例中,我们将一个函数挂接到过滤器上str_replace
这个home_url
使用空字符串。所以如果我们的主页URL是http://example.com
, URL为http://example.com/something
, 的新值href
将是/something
. 那么我们return
修改的属性。
function wpdev_remove_home_url_from_menu_items( $atts, $item, $args ) {
$atts[\'href\'] = str_replace( home_url(), \'\', $atts[\'href\'] );
return $atts;
}
add_filter( \'nav_menu_link_attributes\', \'wpdev_remove_home_url_from_menu_items\', 10, 3 );
我们只使用了
$atts
参数,但您会注意到还有另外两个参数-菜单项对象和菜单参数,以防您需要对特定菜单项或菜单进行任何检查以决定如何修改属性。
您还可以使用此过滤器添加其他属性,如data
, rel
, 和target
.