2013-10-28 5 views
1


아코디언 단축 코드를 만들려고합니다.워드 프레스 단축 코드 안에 jquery 파일을로드하십시오.

// Container 

function ks_accordion($atts, $content = null) { 

    extract(shortcode_atts(array(
     'id' => '' 
    ), $atts)); 
    wp_enqueue_script('jquery-ui-accordion'); 
    wp_enqueue_script('shortcode', get_template_directory_uri().'/functions/shortcodes/js/shortcodes.js'); 

    return '<div id="accordion">'.do_shortcode($content).'</div>'; 
} 
add_shortcode('accordion', 'ks_accordion'); 


// Section 

function ks_accordion_section($atts, $content = null) { 

    extract(shortcode_atts(array(
     'title' => 'My Title', 
    ), $atts)); 

    return '<h6><a href="#">'.$title.'</a></h6><div><p>'.do_shortcode($content).'</p></div>'; 

} 
add_shortcode('accordion_section', 'ks_accordion_section'); 


이것은이다 : 나는 wp_enqueue_script 기능 스크립트를로드 할 때 는 전체 코드는 JQuery와 UI 라이브러리하지만 여기가 아닌 사용자 정의 스크립트

jQuery(document).ready(
    function() { 
      $('#ks-accordion').accordion(); 
     } 
); 


에 대해서만 작동하는 솔기 프런트 엔드에서 얻는 코드 :

<div id="ks-accordion"><br> 
    <h6><a href="#">Title</a></h6><div><p>Content</p></div><br> 
    <h6><a href="#">Title1</a></h6><div><p>Content</p></div><br> 
    <h6><a href="#">Title2</a></h6><div><p>Content</p></div><br> 
</div> 


또한 왜 이런 내용이 생성되지는 않습니까? <br>?


감사

답변

0

jQuery는 WordPress에서 loaded in noConflict mode입니다. 달러 기호를 사용하려면, 우리는

 
jQuery(document).ready(function($) { // <---- put $ here 
    $('#ks-accordion').accordion(); 
}); 

이 많은 아마, do_shortcode<br> 삽입되어 다음이 필요하지만, 그것은 단지 추측입니다.

0
wp_enqueue_script('shortcode', get_template_directory_uri().'/functions/shortcodes/js/shortcodes.js', array('jquery')); 

희망이 도움이!

+0

답변을 주셔서 감사하지만 여전히 효과가 없습니다. – user2928045

관련 문제