当我在wordpress菜单中使用类别时,在index.php上设置当前页面?

时间:2012-11-30 09:51:49

标签: php css wordpress

我在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 -->

1 个答案:

答案 0 :(得分:0)

不使用index.php,而是创建一个新的“帖子页面”页面模板,如下所述:http://codex.wordpress.org/Pages#A_Page_of_Posts

在该模板中,您使用query_posts("cat=4");代码仅显示该类别中的帖子。

然后在Wordpress仪表板中创建一个新页面,将其调用为您喜欢的任何内容,并将其模板(在编辑页面的“页面属性”块中)设置为新创建的模板。

最后,在您的设置&gt;将“首页显示”读取到“静态页面”,并选择新创建的页面作为首页。

通过这种方式,您可以使用Wordpress的内置功能创建一个包含特定内容类型的自定义页面,并且当您使用该页面时仍然可以识别该页面是否处于活动状态。