2013-07-16 6 views
0
     <ul> 
         <li><hr class="menu-dotted-line"/></li> 
         <li class="menu-button-bg"> 
          <div class="menu-button">HOME</div> 
          <div class="menu-button-desc">back to hompage</div> 
          <div></div> 
         </li> 
         <li><hr class="menu-dotted-line"/></li> 
         <li class="menu-button-bg hide-sub-menu"> 
          <div class="menu-button">PORTFOLIO</div> 
          <div class="menu-button-desc">view our work</div> 
          <div></div> 
         </li> 
         <li><hr class="menu-dotted-line"/></li> 
        </ul> 

Есть ли способ реализовать этот код в wordpress с помощью этой структуры?Пользовательское меню wordpress

header.php

<?php wp_nav_menu(array('theme_location' => 'primary')); ?> 

functions.php

<?php 

    register_nav_menu('primary', __('Primary Menu')); 

?> 
+0

Я не являюсь пользователем WordPress, но есть стек http://wordpress.stackexchange.com/, который действительно полезен. Просто подумал, что я бы это сказал. Хотя я уверен, что кто-то может ответить на него здесь также – Jonnny

+0

Это может помочь: http://stackoverflow.com/questions/12250866/how-to-add-custom-html-to-wp-nav-menu – phil

ответ

0

Проблема будет устранена. Вот решение:

functions.php

register_nav_menu('primary', __('Primary Menu')); 

class Menu_With_Description extends Walker_Nav_Menu { 
    function start_el(&$output, $item, $depth, $args) { 
     global $wp_query; 
     $indent = ($depth) ? str_repeat("\t", $depth) : ''; 

     $class_names = $value = ''; 

     $classes = empty($item->classes) ? array() : (array) $item->classes; 

     $class_names = join(' ', apply_filters('nav_menu_css_class', array_filter($classes), $item)); 
     $class_names = ' class="' . esc_attr($class_names) . ' menu-button-bg"'; 

     $output .= $indent . '<li><hr class="menu-dotted-line"/></li><li id="menu-item-'. $item->ID . '"' . $value . $class_names .'>'; 

     $attributes = ! empty($item->attr_title) ? ' title="' . esc_attr($item->attr_title) .'"' : ''; 
     $attributes .= ! empty($item->target) ? ' target="' . esc_attr($item->target) .'"' : ''; 
     $attributes .= ! empty($item->xfn) ? ' rel="' . esc_attr($item->xfn) .'"' : ''; 
     $attributes .= ! empty($item->url) ? ' href="' . esc_attr($item->url) .'"' : ''; 

     $item_output = $args->before; 
     $item_output .= '<a'. $attributes .'>'; 
     $item_output .= '<div class="menu-button">' . $args->link_before . apply_filters('the_title', $item->title, $item->ID) . $args->link_after . '</div>'; 
     $item_output .= '<div class="menu-button-desc">' . $item->description . '</div>'; 
     $item_output .= '</a>'; 
     $item_output .= $args->after; 

     $output .= apply_filters('walker_nav_menu_start_el', $item_output, $item, $depth, $args); 
    } 
} 

JQuery

$(document).ready(function() { 
$("#logo-buttons-bg ul li:last").after("<li><hr class='menu-dotted-line'/></li>"); 
} 

header.php

<?php $walker = new Menu_With_Description; ?> 
<?php wp_nav_menu(array('theme_location' => 'primary', 'menu_class' => 'nav-menu', 'walker' => $walker, 'container' => false)); ?> 
Смежные вопросы