繁体   English   中英

WordPress面包屑问题

[英]Wordpress breadcrumbs issue

我的网站中有一个面包屑,无法正常工作。 当我去像这样的产品

Equipment» Products» Railing» Heavy Railing» Waterproof» Superrail 2000

它向我显示了正确的面包屑。 但是,当我通过“非防水”而不是“防水”获得相同的产品时,它向我显示了相同的面包屑(因此,基本上,它仅遵循1个类别)。

我想在我的面包屑插件的设置中进行检查,但是它向我显示消息“您的设置已过期。请立即迁移。”,而我的主管建议我不要“迁移”它。

是否有人有使用插件或自定义代码处理多个类别的解决方案?

编辑:

我正在使用WP 3.6,不允许对其进行更新。 该URL看起来像这样http://www.website.com/product/asl6109t32/ ,这意味着我无法使用该URL来生成面包屑。

如果可以的话,下面是一些创建面包屑导航的漂亮代码片段,将其放在主题的functions.php文件中:

/*********************************************************** 
* wsf_breadcrumbs() - Shows breadcrumbs in template 
***********************************************************/  
function wsf_breadcrumbs( $sep = '/', $label = 'Browsing' ) {  

    global $post, $front_page;  

   // Do not show breadcrumbs on home or front pages.  
   // So we will just return quickly  
   if((is_home() || is_front_page()) && (!$front_page))  
      return;  

    // Create a constant for the separator, with space padding.  
    $SEP = ' ' . $sep . ' ';  

  echo '<div class="breadcrumbs">';  
  echo $label;  
  echo wsf_make_link( home_url(), 'Home', get_bloginfo('name'), true ) . $SEP;  

  if(is_single()) {  
    the_category(', '); echo $SEP;   
  } 
    elseif (is_search()) {
        echo 'Search results - ';
    } 
    elseif (is_404()) { //Wordpress bug
        echo 'Error 404 (Page not found) '; 
    }
    elseif (is_author()) {
        echo 'Articles posted by author ';
    }
    elseif (is_tag()) { 
        echo 'Posts tagged ';
    }
    elseif (is_year()) {
        echo get_the_time('Y');
    }
  elseif (is_month()) {
        echo get_the_time('F').' ('.get_the_time('Y').')';
    }

    elseif (strstr($_SERVER['REQUEST_URI'],"wp-login.php")) {
        echo 'Administration panel';
    }


    elseif(is_page()) {  
        $parent_id = $post->post_parent;  
        $parents = array();  
        while($parent_id) {  
                $page = get_page($parent_id);  
        $parents[]  = wsf_make_link( get_permalink($page->ID), get_the_title($page->ID) ) . $SEP;  
                $parent_id  = $page->post_parent;  
        }  
        $parents = array_reverse($parents);  
    foreach($parents as $parent) {  
       echo $parent;  
    }  
  }  
   // Wordpess function that echoes your post title.  
  the_title();  
  echo '</div>';  
}  
/*------------------------------------------------------*/
/* Create breadcrumb navigation
/*------------------------------------------------------*/
/*********************************************************** 
* Helper Functions for template coding 
***********************************************************/  
function wsf_make_link ( $url, $anchortext, $title=NULL, $nofollow=false ) {  
   if ( $title == null ) $title=$anchortext;  
   $rel = ($nofollow == true) ? ' rel="nofollow"' : $rel = '';   

   $link = sprintf( '<a href="%s" title="%s" %s>%s</a>', $url, $title, $rel, $anchortext );  
   return $link;   
}  

/*------------------------------------------------------*/
/*------------------------------------------------------*/

然后,在您的footer.php文件中,调用如下函数:

<div id="breadcrumb">
 <?php wsf_breadcrumbs('','') ?>  
</div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM