我有一个CPT归档页面,我想创建一个导航菜单,该菜单将跳转到表单中的锚定
<a name="post-slug" http="{the permalink goes here}>The CPT Title</a>
我已经能够在模板文件中创建锚定,所以这不是问题
对于页面顶部的链接本身,我可以手动创建它们,也可以使用WordPress菜单系统中的自定义链接。。。。但是有很多,所以我宁愿尝试在WordPress菜单系统中创建一个常规菜单。问题是,我需要以某种方式调整它的输出,以更改常规链接
href = "http://example.com/post-slug"
更像是
href = "/#post-slug"
我想知道是否有任何方法可以调整wp\\u nav\\u menu()来执行此操作。。。或者我可以使用其他技术
注意。为清楚起见,请注意,我指的不是编辑器中的锚或与编辑器有关的任何内容,这完全是与模板文件和WordPress菜单系统有关,在本例中,我根本不会使用编辑器。
最合适的回答,由SO网友:byronyasgur 整理而成
明白了,需要使用walker函数。我使用了this tutorial
我修改的主要内容是改变
$attributes .= ! empty( $item->url ) ? \' href="\' . esc_attr( $item->url) .\'"\' : \'\';
到
$attributes .= \' href="#\' . esc_attr( basename(get_permalink()) ) .\'"\' ;
但我可能会重构整件事