将ZURB的基础选项卡用作WordPress导航(活动选项卡)

时间:2012-08-23 作者:thatguycraig

这是一个更适合那些有使用流行的SASS/JS框架(Zurb的Foundation)经验的人的问题。我正试图用它作为我的新Wordpress主题的结构核心,我有一个问题。。。

内置于基础中的是按钮、窗体的样式,当然还有著名的12柱网格。但是,它还附带jQuery选项卡,可用于显示选项卡式内容!嗯,我想用这些来显示我的主题导航,但不知道从哪里开始。

目前,我有以下内容:

<nav class="row" role="navigation">

        <dl class="tabs">
            <dd class="active">
                <a href="#home">Home</a>
            </dd>
            <dd class>
                <a href="#about">About</a>
            </dd>
            <dd class>
                <a href="#contact">Contact</a>
            </dd>
        </dl>

        <ul class="tabs-content">
            <li id="homeTab">Home Page?</li>
            <li id="aboutTab" style="display: none;">About Page?</li>
            <li id="contactTab" style="display: none;">Contact Page?</li>
        </ul>

    </nav>
同样,我只是从基础框架开始,正如我所知,显示实际选项卡是正确的。。。然而,这只是针对选项卡中的纯内容,而不是指向将显示该部分活动选项卡的站点新部分的链接。

我如何使用这个基础选项卡逻辑并将其与Wordpress融合,以便当用户单击它时,它加载站点的该部分并在每页显示正确的“活动”选项卡。

示例:

用户点击“新闻”>一篇文章,点击单条。php。在站点的新闻部分,“新闻”选项卡应保持“活动”click here 被带到他们的文档中心和选项卡部分。老实说,我正处于迷茫之中,它可能就在我面前。。。我想我会打开一个转换,看看有没有人看到它。英雄联盟

谢谢大家!

1 个回复
最合适的回答,由SO网友:Jen 整理而成

基础选项卡假定要显示的内容已存在于<li> 元素。你可以接受这个假设,只需预先加载整个网站,但这可能会导致比修复更多的问题。如果没有其他东西,它将需要永远加载。

一个选项(链接到的基础页面表明这一点)是使用选项卡的样式,并像使用Wordpress&;一样加载页面的其余部分;Php。这意味着您保留此部分:

<nav class="row" role="navigation">
    <dl class="tabs">
        <dd class="active">
            <a href="<?php echo get_bloginfo(\'url\'); ?>/home/">Home</a>
        </dd>
        <dd>
            <a href="<?php echo get_bloginfo(\'url\'); ?>/about/">About</a>
        </dd>
        <dd>
            <a href="<?php echo get_bloginfo(\'url\'); ?>/contact/">Contact</a>
        </dd>
    </dl>
</nav>
。。。但你不需要<ul>. 更改href 要链接到要显示的页面的值。

这确实存在一个问题,即每个页面都会加载标记为活动的“主页”选项卡,因此您可以将其转换为php循环并检查您所在的页面:

<nav class="row" role="navigation">
    <dl class="tabs">
    <?php
    // listing out all the pages we want in the navigation with 
    // their slugs & titles
    $pages = array(
        "home" => "Home",
        "about" => "About",
        "contact" => "Contact"
    );

    // finding out what page we\'re on by slug
    global $post;
    $post_slug = $post->post_name;

    // looping through the pages to create each tab
    foreach ( $pages as $slug => $title )
    {
        // find out if we\'re on this page and set up the active class
        $active = ( $slug == $post_slug ) ? "class=\'active\'" : "";

        // echo each dd item with a link to the page
        echo "<dd ".$active.">
            <a href=\'". get_bloginfo(\'url\') ."/".$slug."/\'>".$title."</a>
        </dd>";
    }
    ?>
    </dl>
</nav>
另一种选择是使用Ajax动态加载内容。我不擅长Ajax,所以也许其他人知道如何做到这一点,并可以提供解决方案?

结束