首页 文章

Wordpress面包屑问题

提问于
浏览
0

我的网站上有一个面包屑不能正常工作 . 当我去一个类似的产品

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

它正确地向我展示了这个面包屑 . 然而,当我通过“非防水”代替“防水”获得相同的产品时,它向我显示了相同的面包屑(基本上,它只遵循1类) .

我想在我的breadcrumb插件的设置中检查这个,但是它向我显示消息“你的设置已经过时 . 现在迁移 . ”,我的主管建议我不要“迁移”它 .

有没有人有一个解决方案,使用插件或自定义代码,可以使用多个类别?

Edit:

我'm working with WP 3.6, which I' m不允许更新 . URL看起来像这样http://www.website.com/product/asl6109t32/,这意味着我不能使用URL来生成痕迹 .

1 回答

  • 0

    如果可以,这里有一些漂亮的代码片段用于创建痕迹导航,请将其放在主题的 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>
    

相关问题