如果语句在函数内部

时间:2014-10-25 06:59:54

标签: php wordpress

我做了这个代码来制作一个“|”在我的<li>元素关闭后出现,但现在我正在试图让它出现,只有它位于另一个div,任何想法?尝试过if语句,没有幸福的结局。

关闭<li>并添加“|”

的源代码
function end_el( &$output, $item, $depth = 0, $args = array() ) {
    $output .= '</li>'.'<div id="character" style="display: block; float: left;font-size: 15px;line-height: 15px;margin-top: 10px;">|</div>';
}

这是html中的结果:

 <ul id="menu">
    <li id="menu-1"></li><div id="character">|</div>
    <li id="menu-2></li> <div id="character">|</div>
       <ul id="sub-menu">
         <li id="menu-3></li> <div id="character">|</div>
       </ul>
 </ul>

这就是我想要达到的目标

  <ul id="menu">
    <li id="menu-1"></li><div id="character">|</div>
    <li id="menu-2></li> <div id="character">|</div>
      <ul id="sub-menu">
         <li id="menu-3></li> <div id="character" style="display:none">|</div>
      </ul>
  </ul>

2 个答案:

答案 0 :(得分:0)

如果我的问题正确无误,您可以使用'<div id="character" style="display: '.$block.'; ...',然后使用if (condition) $block='none' else $block='block'

答案 1 :(得分:0)

没有足够的细节来做出最终答案,但很少有提示:

  1. 我在代码中添加了if语句的示例。在这个例子中它将添加|仅当$ depth&gt; 1(子菜单)
  2. function end_el( &$output, $item, $depth = 0, $args = array() ) {
        $output .= '</li>' . ((1 < $depth) ? '<div id="character" style="display: block; float: left;font-size: 15px;line-height: 15px;margin-top: 10px;">|</div>' : '');
    }
    1. 由于样式不正确,您的问题已解决。添加|更好通过CSS(至少是背景图片)。或者你可以通过jQuery添加它。它将使PHP代码更清晰,您的问题将更容易解决。