提问者:小点点

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


我在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个答案

匿名用户

不使用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的内置功能创建一个包含特定类型内容的自定义页面,并且当您在页面上时,它仍然可以识别该页面是活动的。