编辑自定义链接菜单标记:制作带有可链接图标的社交媒体菜单

时间:2017-11-07 作者:David Gaskin

我正在我的网站上使用链接图标创建社交菜单媒体:

enter image description here

为此,我使用“外观”>“菜单”中的“自定义链接”部分:

enter image description here

实现可链接图标的代码段(我使用的是Font Awesome)如下所示:

<a href="https://www.facebook.com/peakwebsiteservices/" target="_blank" title="Facebook: Peak Websites"><i class="fa fa-facebook-square" aria-hidden="true"></i></a>
如您所见,我使用的是一个图标标记(由font awesome website) 并将其包装在锚定标签中。

当我将其输入到“自定义链接”对话框中时,我在“链接文本”而不是“URL”下输入这行代码:

enter image description here

这样做的原因是我的问题的一部分。

以下是“我的社交媒体”菜单上线时的标记:

enter image description here

从上图中可以看到,我有一个无序列表中的社交媒体菜单和三个列表项。深入查看列表项,您会看到两个锚定标记。一个锚定标记为空,由“自定义链接”菜单中的“URL”字段创建,另一个是我输入代码行以创建可链接图标的位置。

I want to remove that empty anchor tag from the markup. 有人知道我在WordPress代码库中的位置/方式吗?或者,有没有其他方法可以在不使用CSS的情况下通过编程实现这一点?

我设想在代码库的某个地方有一个函数输出这个自定义菜单,我可以对其进行调整,以避免输出第一个字段。我希望,如果我发现需要创建其他自定义菜单,我可以只调整此自定义菜单,而不会影响将来的自定义菜单。

另一种选择似乎是使用插件,但我不想为此使用插件。有人能说出来吗?

谢谢你的帮助,

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

我认为你用错了方法,你需要为它定制。这可能会对你有所帮助。

 add_filter(\'wp_nav_menu_items\', \'register_social_links\', 10, 2);

 function register_social_links($items, $args) {
    if ($args->theme_location == \'top-header\') {//Here you can use your menu theme location
       $items .= \'<li class="your-class-name"><a href="https://www.facebook.com/peakwebsiteservices/" target="_blank" title="Facebook: Peak Websites"><i class="fa fa-facebook-square" aria-hidden="true"></i></a></li>\';
    }
    return $items;
 }
希望这对你有帮助。

结束