突出显示页眉中的静态博客页面链接

时间:2012-03-06 作者:blackbull77

我为我的标题创建了一个类似于导航栏的标签系统,我可以在页面上突出显示除新闻按钮以外的所有内容。新闻是我所有博客/新闻帖子的静态页面。

不知道这是否是我的代码,但如果有人有任何想法,非常感谢你。

<?php
$parent_title = get_the_title($post->post_parent);
?>

            <?php
                $items = wp_get_nav_menu_items("main-nav");
                foreach($items as $item): 
            ?>
            <a <?php  if($item->title == $parent_title){ echo \'class="active \'.$parent_title.\'"\';}else{ echo \'class="\'.$item->title.\'"\';} ?> href="<?php echo $item->url; ?>"><?php echo $item->title; ?></a>
            <?php endforeach; ?>

2 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成

根据您的评论:

因为我想自由定制菜单的HTML和CSS。我不想要生成的html,比如:ul或li标签。此外,它还让我可以自由地按照自己的方式设置链接blackbull77 20小时前

你能行all of that 输出来自wp_nav_menu() (生成的<ul><li> 当然是标记-但是,这些标记在语义上是正确的,因为您正在输出一个列表Chip Bennett 19小时前

你能告诉我怎么做吗?-blackbull77 44分钟前

通过输出您的列表wp_nav_menu(), 引用theme_location, 像这样:

<?php
wp_nav_menu( array(
    \'theme_location\' => \'primary_nav\'
) );
?>
.current-menu-item CSS类可根据您的需要进行样式设置

对于默认的回退菜单,您还可以针对.current_page_item CSS类.current-menu-parent, .current-menu-ancestor, .current_page_parent, 和.current_page_ancestor.nav_menu_css_class filter.

SO网友:blackbull77

我无意中找到了答案,我将把它传递给任何想试试的人。

我是这样做的:

<?php if ( is_page() ) {

        $parent_title = get_the_title($posts_page->post_title);
        echo $parent_title;    

 } else {

    $posts_page_id = get_option( \'page_for_posts\');
    $posts_page = get_page( $posts_page_id);
    $posts_page_title = $posts_page->post_title;

    $parent_title = $posts_page_title;
    echo $parent_title; 

 } ?>

 <?php
     $items = wp_get_nav_menu_items("main-nav");
     foreach($items as $item): 
  ?>
        <a <?php  if($item->title == $parent_title){ echo \'class="active \'.$item->title.\'"\';}else{ echo \'class="\'.$item->title.\'"\';} ?> href="<?php echo $item->url; ?>"><?php echo $item->title; ?></a>
 <?php endforeach; ?>
它所做的是,如果文章是一个页面,它将发布父页面的标题,否则它将为您提供博客静态页面标题的名称。希望这能帮助一些人。

Special Thanks to DynamicWP article!

结束

相关推荐

WordPress主题AJAX Have_Posts()

我的目标是通过ajax将blogroll加载到我的主题中。但作为响应,我只能得到0(如果省略die()行,否则会得到一个空白响应)。这是我的代码:js ajax:$.ajax({ url:\"http://domain.com/wp-admin/admin-ajax.php\", type:\'POST\', data:\'action=load_men_blog\', //dataType:\'html\', //cache