Skip to content

Instantly share code, notes, and snippets.

@srikat
Last active August 29, 2015 13:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save srikat/8865969 to your computer and use it in GitHub Desktop.
Save srikat/8865969 to your computer and use it in GitHub Desktop.
Linking to a panel when using jQuery UI Accordion in WordPress. http://sridharkatakam.com/link-accordion-panel-using-jquery-ui-accordion-wordpress/
jQuery(document).ready(function($) {
var defaultPanel = parseInt(getParam('panel'));
$( "#accordion1" ).accordion({
active: defaultPanel,
header: '> div.my-accordion-section > h3',
heightStyle: 'content'
});
function getParam(name) {
var query = location.search.substring(1);
if (query.length) {
var parts = query.split('&');
for (var i = 0; i < parts.length; i++) {
var pos = parts[i].indexOf('=');
if (parts[i].substring(0,pos) == name) {
return parts[i].substring(pos+1);
}
}
}
// Make 1st panel open when page having accordion is visited directly
return 0;
// Make all panels collapsed when page having accordion is visited directly
// return false;
}
});
add_action('wp_enqueue_scripts', 'enqueue_accordion');
function enqueue_accordion() {
if ( ! is_page('1307') )
return;
wp_enqueue_script( 'jquery-ui-accordion' );
wp_enqueue_script( 'custom-accordion', get_stylesheet_directory_uri() . '/js/accordion.js', array('jquery') );
}
<div id="accordion1">
<div class="my-accordion-section">
<h3>Header 1</h3>
<div>
Ut gravida lobortis diam non varius. Duis tempor cursus justo ut consequat. Donec bibendum sem arcu, at placerat orci ultricies sed. Donec tortor diam, tincidunt a molestie nec, volutpat vitae nisl. Sed vitae arcu eu ante ultrices aliquet non vitae nisi.
</div>
</div>
<div class="my-accordion-section">
<h3>Header 2</h3>
<div>
Praesent iaculis lacus quis elementum vulputate. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Aenean vitae viverra nisi. Aenean luctus tristique ligula. Vivamus tempus eu odio nec ultrices.
</div>
</div>
<div class="my-accordion-section">
<h3>Header 3</h3>
<div>
Phasellus ligula eros, interdum et posuere ut, dapibus ac tortor. Sed sagittis a nibh sed posuere. Aenean id lacus eu mauris semper eleifend. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
</div>
</div>
</div>
<a href="http://example.com/jquery-ui-accordion/?panel=0#accordion1">Header 1</a>
<a href="http://example.com/jquery-ui-accordion/?panel=1#accordion1">Header 2</a>
<a href="http://example.com/jquery-ui-accordion/?panel=2#accordion1">Header 3</a>
<a href="http://example.com/jquery-ui-accordion/?panel=0">Header 1</a>
<a href="http://example.com/jquery-ui-accordion/?panel=1">Header 2</a>
<a href="http://example.com/jquery-ui-accordion/?panel=2">Header 3</a>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment