2013-01-01 14 views
1

爲了使下面的輸出,我用WordPress的定製學步車如何自定義WordPress的定製學步車

class Walker_Page_Custom extends Walker_Nav_Menu { 

function start_lvl(&$output, $depth) { 
    $indent = str_repeat("\t", $depth); 
    $output .= "\n$indent 
     <div class='nav-dropdown' style='display: block; height: 1.2534674133206636px; overflow: hidden;'> 
     <div class='drop-col'> 
      <img id='prod' src='#' rel='#' alt='Womenswear'> 
     <ul class='level0'> 
     <li id='menu-item'> 

    \n"; 
} 

function end_lvl(&$output, $depth) { 
    $indent = str_repeat("\t", $depth); 
    $output .= "$indent 
      </li> 
      </ul> 
      </div> 
     </div> 
    \n"; 
} 

} 

這裏是我的電流輸出

<li id="menu-item-310" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-310"> 
    <a href="http://localhost/wp/products-page/" class="sf-with-ul">Products Page</a> 
    <div class="nav-dropdown"> <!-- first one --> 
     <div class="drop-col"> <!-- first one --> 
      <img id="prod" src="" rel="" alt="Womenswear"> 
      <ul class="level0"> 
       <li id="menu-item-311" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-311"><a href="http://localhost/wp/products-page/your-account/">Your Account</a></li> 
       <li id="menu-item-312" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-312"><a href="http://localhost/wp/products-page/transaction-results/">Transaction Results</a></li> 
       <li id="menu-item-313" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-313"><a href="http://localhost/wp/products-page/checkout/" class="sf-with-ul">Checkout<span class="sf-sub-indicator"> »</span></a> 
        <div class="nav-dropdown"><!-- second one --> 
         <div class="drop-col"><!-- second one --> 
          <img id="prod" src="#" rel="#" alt="Womenswear"> 
          <ul class="level0"> 
           <li id="menu-item-314" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-314"><a href="http://localhost/wp/products-page/checkout/order-received/">Order Received</a></li> 
           <li id="menu-item-315" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-315"><a href="http://localhost/wp/products-page/checkout/pay/">Checkout ? Pay</a></li> 
          </ul> 
         </div> 
        </div> 
       </li> 
      </ul> 
     </div> 
    </div> 
</li> 

如果你注意到,有<div class="nav-dropdown"><div class="drop-col">內第一個<div class="nav-dropdown"><div class="drop-col">

所以我需要改變第二個類<div class="nav-dropdown"><div class="drop-col">到我們可以說<div class="inner-nav-down"><div class="inner-drop-cll">或者任何其它類,我不在乎

任何建議編輯這個自定義沃克做這項工作?

回答

2
function start_lvl(&$output, $depth) { 
    $indent = str_repeat("\t", $depth); 
    $inner = $depth ? 'inner-' : ''; 
    $output .= "\n$indent 
     <div class='".$inner."nav-dropdown' style='display: block; height: 1.2534674133206636px; overflow: hidden;'> 
     <div class='".$inner."drop-col'> 
     <img id='prod' src='#' rel='#' alt='Womenswear'> 
     <ul class='level0'> 
     <li id='menu-item'> 

    \n"; 
} 
+0

此外,只是你知道,像素(px)是造型中最小的測量單位。以像素爲單位進行測量時,小數位不會被兌現。 – maiorano84

+0

就像瘋了一樣工作,回答,但如果你有時間,你能解釋一下發生了什麼?如果你沒有時間,那很好 – m7mdSamir

+1

當然。 $ depth參數是一個簡單的整數,它包含Walker當前級別的數字表示。例如:Parent = 0,Child = 1,Grandchild = 2等等。 $ inner變量是一個簡單的三元運算符,如果$ depth大於0,它將被設置爲等於字符串'inner-',否則它將被設置爲空字符串''。大於0的整數評估爲true,而小於或等於0的整數評估爲false,所以我忽略了條件的大於0部分。 – maiorano84