链接到另一个页面Wordpress的特定引导程序选项卡

时间:2013-10-24 20:42:18

标签: wordpress twitter-bootstrap tabs bootstrap-tabs

我在Wordpress网站上使用引导程序选项卡短代码。我想从另一个页面链接到tab2。任何人都可以建议如何做到这一点?

我的页码(切碎了一下):

[bootstrap_tab name="TAB1" link="tab1-slug" active="active"]
TAB 1 Content
[/bootstrap_tab]
[bootstrap_tab name="TAB2" link="tab2-slug"]
More content
[/bootstrap_tab]
[bootstrap_tab name="TAB3" link="tab3-slug"]
Yep. Even more content.
[/bootstrap_tab]
[bootstrap_tab name="TAB4" link="tab4-slug"]
Yep. Even more content.
[/bootstrap_tab]
[end_bootstrap_tab]

它产生的代码:

<ul id="tabs" class="nav nav-tabs" data-tabs="tabs">
    <li class="tabs active">
        <a data-toggle="tab" href="#tab1-slug">TAB1</a>
    </li>
    <li class="tabs ">
        <a data-toggle="tab" href="#tab2-slug">TAB2</a>
    </li>
    <li class="tabs ">
        <a data-toggle="tab" href="#tab3-slug">TAB3</a>
    </li>
    <li class="tabs ">
        <a data-toggle="tab" href="#tab4-slug">TAB4</a>
    </li>
</ul>
<div id="my-tab-content" class="tab-content">
    <div id="tab1-slug" class="tab-pane active">
        <p></p>
        <h2>header</h2>
        <p><strong>bold</strong></p>
        <p>content</p> 
        <p></p>
    </div>
    <div id="tab2-slug" class="tab-pane ">
        <p></p>
        <h2>TAB2</h2>
        <p><strong>These are usually two day</strong></p>
    </div>
    <div id="tab3-slug" class="tab-pane ">
        <p></p>
        <h2>TAB3</h2>
        <p>1 to 2 day events</p><p></p>
    </div>
    <div id="tab4-slug" class="tab-pane ">
        <p>
            <h2>TAB4</h2>
            <p><strong>5 to 10 day courses</strong></p>
    </div>
</div>

2 个答案:

答案 0 :(得分:1)

假设正在加载jQuery并且链接URL类似于

http://example.com/page-with-tabs/?tab=NUMBER

我们在页脚打印一些条件脚本:

add_action( 'wp_footer', 'active_tab_so_19576232' );

function active_tab_so_19576232()
{
    # Query var not set in URL, bail out
    if( !isset( $_GET['tab'] ) )
        return;

    # Change the active tab
    $tab = '#tab'. $_GET['tab'] .'-slug';   
    ?>
    <script type="text/javascript">
    jQuery(document).ready(function($) {
        $('div.tab-pane.active').removeClass('active');
        $('<?php echo $tab; ?>').addClass('active');
    });
    </script>
    <?php
}

Should be a plugin,但您可以删除主题functions.php中的代码。

答案 1 :(得分:1)

虽然不在WordPress中,但这似乎是链接到Bootstrap标签的最终解决方案: Twitter Bootstrap Tabs: Go to Specific Tab on Page Reload or Hyperlink

话虽这么说,我写了一个WordPress插件,可以做到这一点。激活插件,然后您就可以使用选项卡的href作为哈希。

如果您的标签如下所示:

<li><a href="#profile" role="tab" data-toggle="tab">Profile</a></li>

您可以链接到它并使用以下链接激活/打开它:

<a href="/page-with-my-tab/#profile">Link to my tab</a>

该插件还允许您使用一种两步链接直接链接到选项卡上的内容: 步骤1激活正确的选项卡 步骤2滚动到选项卡上的内容。

它仅使用URL中的单个哈希来完成此操作。 例如:http://www.example.com/mypage/#content

这将带您进入“mypage”和id =“content”的HTML元素,无论是在活动/非活动的Bootstrap选项卡上还是仅在某个页面上。

希望这会有所帮助:

这是GitHub上的插件:https://github.com/marinersmuseum/WP-Tab-Anchors/blob/master/wp-tab-anchors.zip