我的网站上有一个不能正常工作的面包屑。当我打开
这样的产品 Equipment» Products» Railing» Heavy Railing» Waterproof» Superrail 2000
它正确地显示了这个面包屑。然而,当我通过"非防水"而不是"防水"进入同一产品时,它显示的是相同的面包屑(所以基本上,它只跟随一个类别)。
我想在我的breadcrumb插件的设置中检查这一点,但它向我显示消息"您的设置已过期。,我的主管建议我不要"迁移"它。
是否有人有一个解决方案,使用插件或自定义代码与多个类别的工作?
编辑:我正在使用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>