通过Wordpress Shortcodes选项卡

时间:2011-11-03 23:49:24

标签: javascript jquery wordpress

我在将一个类添加到我目前在Wordpres中使用的一些jQuery选项卡时遇到了问题。以下代码创建了一个用于创建选项卡的短代码。我的问题是如何在正在显示的选项卡中添加一个类,即“活动”选项卡。我希望能够将此类添加到正在显示的选项卡中,以便我可以使用CSS设置它。这是我正在使用的代码,它可以找到但是它不会向活动选项卡添加任何类:

add_shortcode( 'tabgroup', 'jqtools_tab_group' );
function jqtools_tab_group( $atts, $content ){
$GLOBALS['tab_count'] = 0;

do_shortcode( $content );

if( is_array( $GLOBALS['tabs'] ) ){
foreach( $GLOBALS['tabs'] as $tab ){
$tabs[] = '<li><a class="" href="#">'.$tab['title'].'</a></li>';
$panes[] = '<div class="pane"><h3>'.$tab['title'].'</h3>'.$tab['content'].'</div>';
}
$return = "\n".'<!-- the tabs --><ul class="tabs">'.implode( "\n", $tabs ).'</ul>'."\n".'<!-- tab "panes" --><div class="panes">'.implode( "\n", $panes ).'</div>'."\n";
}
return $return;
}

add_shortcode( 'tab', 'jqtools_tab' );
function jqtools_tab( $atts, $content ){
extract(shortcode_atts(array(
'title' => 'Tab %d'
), $atts));

$x = $GLOBALS['tab_count'];
$GLOBALS['tabs'][$x] = array( 'title' => sprintf( $title, $GLOBALS['tab_count'] ), 'content' =>      $content );

$GLOBALS['tab_count']++;
}

感谢。

1 个答案:

答案 0 :(得分:0)

如果使用jquery / javascript添加类,会好得多。

如果您确定在页面加载时哪个选项卡处于活动状态,您可以通过jquery动态添加活动类。

$(document).ready(function() {
// That is if the first tab is the default active tab.
// Assuming the li tag is what you want to apply the 'active' class on
$('ul.tabs li:first').addClass('active');

// Manipulate Class on click event.
// Assuming the li tag is what you want to apply the 'active' class on


$('ul.li a').click(function() {
// Remove any 'active' class previously added.
$(this).parent().siblings().removeClass('active');

// Add 'active' class to the selected tab.
$(this).parent().addClass('active');

});
});

希望这会有所帮助。