2012-08-06 2 views
-1

앵커의 메뉴에 wp 페이지를 포함하는 일부 div를 삽입해야합니다. 앵커 메뉴 중 하나에 5 개의 링크가 포함 된 하위 메뉴가 있습니다. 이 링크들 각각은 페이지 (wp 페이지)를 포함합니다.워드 프레스 메뉴의 구조를 수정하는 방법

나는이 게시물을 따라 갔다 : http://bit.ly/MIRtcY 그러나 특정 소스가 아니며 원하는 것을 얻기 위해 약간의 문제가있다.

특정 URL이나 제안 사항이 있으십니까?

감사합니다.

답변

0

다른 솔루션을 시도했지만 지금은 워커 탐색 메뉴로 작업하고 있습니다.

// Class to insert div and page into nav menu (not working yet) 
class description_walker 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) . '"'; 

     $output .= $indent . '<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  ) .'"' : ''; 

     // $prepend = '<strong>'; 
     // $append = '</strong>'; 
     $description = empty($item->description) ? '<div class="dropEverything-page"><div class="dropEverything-row">'.esc_attr($item->description).'</div></div>' : ''; 

     if($depth != 0) 
     { 
       $description = $append = $prepend = ""; 
     } 

     $item_output = $args->before; 
     $item_output .= '<a'. $attributes .'>'; 
     $item_output .= $args->link_before .$prepend.apply_filters('the_title', $item->title, $item->ID).$append; 
     $item_output .= $description.$args->link_after; 
     $item_output .= '</a>'; 
     $item_output .= $args->after; 

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

내가이 줄을 수정 : 이 코드입니다 내가 대체해야

 // I need to get the ID of the page and put it into the anchor 
     $postID = get_page_by_title("Profile")->ID; 
    $post = get_post(&$postID); 
     $description = empty($item->description) ? '<div class="dropEverything-page"><div class="dropEverything-row">'.esc_attr($item->description).'</div></div>' : ''; 

esc_attr($item->description) 

esc_attr(echo apply_filters("the_content", $post->post_content)) 

하지만 웹 사이트 나을 반환 빈 페이지.

의견이 있으십니까? 감사합니다.

+0

"echo"없이이 문제를 해결했습니다. 마지막 줄을 변경했습니다 : esc_attr (apply_filters ("the_content", $ post-> post_content)) 괜찮 았지만 "Press"페이지에는 wp 갤러리가 표시되지 않습니다. 제목 만 표시되며 다른 것은 표시되지 않습니다. – Gabriele