调整Wordpress功能以显示父类别

时间:2009-10-29 17:08:47

标签: php wordpress

我正在尝试在基于WP的网站上显示经典的面包屑。我有以下功能,

//breadcrumb function
function the_breadcrumb() {
    if (!is_home()) {
        echo '<a href="';
        echo get_option('home');
        echo '">';
        //bloginfo('name');
        echo 'Home';
        echo "</a> > ";
        if (is_category() || is_single()) {
            the_category('title_li=');
            if (is_single()) {
                echo " » ";
                the_title();
            }
        } elseif (is_page()) {
            echo the_title();
        }
    }
}

但是当页面位于父类别(即,关于(父级),顾问(子级))内时,它仅显示子页面。有关如何添加条件以显示父页面的任何想法?任何帮助将不胜感激。

/ *已编辑* / 我找到了一个完美的工作功能:

function breadcrumbTrail($crumbs = true, $title = 'Browse', $separator = '/')
{
  global $post;
?>
  <div class="breadcrumbs">
<a href="<?php bloginfo('url'); ?>" title="<?php bloginfo('name'); ?>"><?php _e('Home','options'); ?></a> <?php echo $separator; ?>
<?php

  if(is_single()) :
    the_category(', '); echo ' ' . $separator . ' ';
  elseif(is_page()) :
    $parent_id = $post->post_parent;
    $parents = array();
    while($parent_id) :
      $page = get_page($parent_id);
      if($params["link_none"])
        $parents[] = get_the_title($page->ID);
      else
        $parents[]  = '<a href="'.get_permalink($page->ID).'" title="'.get_the_title($page->ID).'">'.get_the_title($page->ID).'</a> ' . $separator . ' ';
      $parent_id  = $page->post_parent;
    endwhile;

    $parents = array_reverse($parents);
    foreach($parents as $val) :
      echo $val;
    endforeach;
  endif;
  the_title();
?>
  </div>
<?php
}

希望这可以帮助别人。

1 个答案:

答案 0 :(得分:1)

我建议使用Breadcrumb NavXT插件,它不仅适用于类别,也适用于带有父级的页面。

如果您想为面包屑编写自己的自定义代码,可以看看Breadcrumb NavXT是如何做到的。