【发布时间】:2016-07-02 16:12:54
【问题描述】:
我想知道是否可以在 WordPress 导航中获取项目数?我只需要顶级项目的数量。我正在尝试计算每个项目应该在导航栏中所占的百分比,所以如果我能得到项目的数量,我就能得到百分比。本来打算用Customizer让用户输入商品的数量,如果能自动得到这个数字就更好了。
【问题讨论】:
标签: wordpress menu navigation
我想知道是否可以在 WordPress 导航中获取项目数?我只需要顶级项目的数量。我正在尝试计算每个项目应该在导航栏中所占的百分比,所以如果我能得到项目的数量,我就能得到百分比。本来打算用Customizer让用户输入商品的数量,如果能自动得到这个数字就更好了。
【问题讨论】:
标签: wordpress menu navigation
您可以使用wp_get_nav_menu_items(),然后计算它返回的数组中的项目数。
【讨论】:
您可以使用 jQuery 或使用纯 CSS 使用 flex 来做到这一点。
以下是两者的示例:
var $items = $('nav.jquery > ul > li'),
$itemsWidth = 100 / $items.length;
$items.css({
'width': $itemsWidth + '%'
});
nav ul {
margin: 0;
padding: 0;
}
nav.jquery > ul > li {
display: block;
position: relative;
float: left;
height: 40px;
line-height: 40px;
background-color: gray;
text-align: center;
color: white;
}
nav > ul > li > ul {
position: absolute;
top: 40px;
display: none;
}
nav.flex{
clear: both;
}
nav.flex > ul{
display: flex;
}
nav.flex > ul > li{
flex: 1;
position: relative;
height: 40px;
line-height: 40px;
background-color: green;
text-align: center;
color: white;
list-style-type: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<nav class="jquery">
<ul>
<li>Item 1</li>
<li>Item 2
<ul>
<li>Item 2/1</li>
<li>Item 2/2</li>
<li>Item 231</li>
</ul>
</li>
<li>Item 3</li>
<li>Item 4</li>
</ul>
</nav>
<nav class="flex">
<ul>
<li>Item 1</li>
<li>Item 2
<ul>
<li>Item 2/1</li>
<li>Item 2/2</li>
<li>Item 231</li>
</ul>
</li>
<li>Item 3</li>
<li>Item 4</li>
</ul>
</nav>
【讨论】: