2013-10-10 3 views
1

jQuery 'Superfish'드롭 다운 메뉴 (Wordpress) 작업 중. 나는 superfish와 wordpress의 최신 버전을 사용합니다. 문제는Wordpress에서 jQuery Superfish 메뉴가 표시되지 않습니다.

functions.php

//Register Superfish 
/////////////////////////////////////////////////////////// 

add_action('wp_enqueue_scripts', 'superfish_libs'); 
function superfish_libs() 
{ 
    // Register each script, setting appropriate dependencies 
    wp_register_script('hoverintent', get_template_directory_uri() . '/superfish-js/hoverIntent.js'); 
    wp_register_script('bgiframe', get_template_directory_uri() . '/superfish-js/jquery.bgiframe.min.js'); 
    wp_register_script('superfish', get_template_directory_uri() . '/superfish-js/superfish.js', array('jquery', 'hoverintent', 'bgiframe')); 
    wp_register_script('supersubs', get_template_directory_uri() . '/superfish-js/supersubs.js', array('superfish')); 

    // Enqueue supersubs, we don't need to enqueue any others in this case, as the dependencies take care of it for us 
    wp_enqueue_script('supersubs'); 

    // Register each style, setting appropriate dependencies 
    wp_register_style('superfishbase', get_template_directory_uri() . '/superfish-css/superfish.css'); 
    wp_register_style('superfishvert', get_template_directory_uri() . '/superfish-css/superfish-vertical.css', array('superfishbase')); 
    wp_register_style('superfishnavbar', get_template_directory_uri() . '/superfish-css/superfish-navbar.css', array('superfishvert')); 

    // Enqueue superfishnavbar, we don't need to enqueue any others in this case either, as the dependencies take care of it 
    wp_enqueue_style('superfishnavbar'); 
} 

//Register jQuery 1.1.3 
/////////////////////////////////////////////////////////// 

wp_deregister_script('jquery'); 
if(!is_admin()) { 
    wp_register_script('jquery', get_template_directory_uri() . '/js/jquery-1.1.3.js'); 
    wp_enqueue_script('jquery'); 
} 

header.php

<div id="wrapper-mainnav"> 

      <div class="left"></div> 
      <div class="content"> 
       <?php wp_nav_menu(array('theme_location' => 'mainnav', 'menu_class' => 'sf-menu')); ?> 
      </div> 
      <div class="right"></div> 

      <br class="clearer"> 

      <div class="bottom"></div> 

     </div><!--wrapper-mainnav--> 

... 난 내 메뉴의 아무것도 볼 ... superfish 내 메뉴는 보이지 않게, 제발입니다 도와주세요, 오류를 찾을 수 없습니다 ... 자세한 정보가 필요하면 알려주세요 ...

+0

단지 바닥 글에 스크립트를 넣어 시도하고 메뉴가 있는지 확인하고 코드 전에 잘 표시하는 것입니다. jQuery 1.1.3은 처음으로 거슬러 올라간다. – teemo

+0

나는 그것을 추가했지만, 나는 같은 문제가있다. i updatet jquery :'wp_deregister_script ('jquery'); if (! is_admin()) { wp_register_script ('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js'); wp_enqueue_script ('jquery'); } 'sf-menu 클래스를 제거하면 작동 함 – taito

+1

wordpress 메뉴의 백엔드를 변경하려고합니까? – teemo

답변

0

우선 don't dequeue WordPress bundled jQuery.

<ul> 컨테이너에 클래스 sf-menu을 추가하기가 약간 어려워 보입니다. 상단의 <div>에 적용됩니다.
wp_nav_menu에서 많은 변형을 시도했지만 아무런 도움이되지 않았습니다.

간단한 해결책은 수동으로 변경

$mainnav = wp_nav_menu(array('theme_location' => 'mainnav', 'echo' => false); 
echo str_replace('<ul>', '<ul class="sf-menu">', $mainnav);