我正在研究自定义的wordpress主题, 并且在按自己的方式设计标题中的第一个菜单时遇到了困难。
因此, 在header.php中, 我以这种方式插入菜单, 以使链接不会被表标签包围:
<?php
$menuParameters = array(
'container' => false, 'echo' => false, 'items_wrap' => '%3$s', 'depth' => 0, );
$output = strip_tags(wp_nav_menu($menuParameters), '<a>');
//This is my first try with regex, but i didnt manage to
//only insert the character in between two links and not
//one at the and as well.
//$output = Preg_replace( "(\n)", "$0|\r\n", $output);
echo $output;
?>
因此, 这段代码为我提供了一个如下所示的菜单:
<a href="http://localhost/page-1/">Page 1</a>
<a href="http://localhost/page-2/">Page 2</a>
<a href="http://localhost/page-3/">Page 3</a>
<a href="http://localhost/page-4/">Page 4</a>
<a href="http://localhost/page-5/">Page 5</a>
只是为了理解, 这就是我想要获得的输出:
<a href="http://localhost/page-1/">Page 1</a>
|
<a href="http://localhost/page-2/">Page 2</a>
|
<a href="http://localhost/page-3/">Page 3</a>
|
<a href="http://localhost/page-4/">Page 4</a>
|
<a href="http://localhost/page-5/">Page 5</a>
预先感谢你的回答!
#1
wp_nav_menu()允许after和link_after参数在链接文本或链接标记之后添加文本, 因此你可以更新参数:
$menuParameters = array(
'container' => false, 'echo' => false, 'items_wrap' => '%3$s', 'depth' => 0, 'after' => "<span>|</span>"
);
wp_nav_menu()
编辑:如果你不想在最后一个链接后显示分隔符, 则可以使用一些CSS伪元素:
.mymenu span:last-child{ display: none; }
https://jsfiddle.net/k593ezoL/1
#2
<a href="http://localhost/page-1/">Page 1</a><a href="http://localhost/page-2/">Page 2</a><a href="http://localhost/page-3/">Page 3</a><a href="http://localhost/page-4/">Page 4</a><a href="http://localhost/page-5/">Page 5</a>
评论前必须登录!
注册