我在WordPress的主导航中使用类别。为了显示我的类别“home”(开始页),我在index.php中使用以下代码。“家”是第4类。
<?php if ( have_posts() ) : ?> <?php query_posts("cat=4"); //set cat 4 to start page ?>
<?php /* Start the Loop */ ?>
问题是,当有人访问我的网站时,“主页”没有标记为当前页面。但如果点击“主页”,它会被突出显示为当前页面。
当有人访问我的网站时,我如何将类别主页设置为当前页面?我能在上面的php代码中包含css吗?
在我的css中有以下功能,当你点击主菜单中的链接(类别)时可以工作,但当有人访问网页而不点击菜单时就不行了。
.main-navigation .current-menu-item > a,
.main-navigation .current-menu-ancestor > a,
.main-navigation .current_page_item > a,
.main-navigation .current_page_ancestor > a {
color: #ffffff;
background-color: #f68a1f;
}
我的菜单代码如下所示(使用wordpress菜单)
<nav id="site-navigation" class="main-navigation" role="navigation">
<h3 class="menu-toggle"><?php _e( 'Meny', 'twentytwelve' ); ?></h3>
<div class="skip-link assistive-text"><a href="#content" title="<?php esc_attr_e( 'Skip to content', 'twentytwelve' ); ?>"><?php _e( 'Skip to content', 'twentytwelve' ); ?></a></div>
<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' ) ); ?>
</nav><!-- #site-navigation -->
不使用index.php,而是创建一个新的“page of posts”页面模板,如下所述:http://codex.wordpress.org/pages#a_page_of_posts
在该模板中,您使用query_posts(“cat=4”);
代码仅显示该类别中的帖子。
然后您在Wordpress仪表板中创建一个新页面,将其称为任何您喜欢的页面,并将其模板(在编辑页面上的“页面属性”块中)设置为您新创建的模板。
最后,在您的设置>Reading中,将“four page displays”设置为“a static page”,并选择您新创建的页面作为首页。
这样,您就可以使用Wordpress的内置功能创建一个包含特定类型内容的自定义页面,并且当您在页面上时,它仍然可以识别该页面是活动的。