基础选项卡假定要显示的内容已存在于<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,所以也许其他人知道如何做到这一点,并可以提供解决方案?