WooCommerce面包屑缺少商店链接

时间:2013-07-08 作者:sh.e.salh

我有一个WoodPress网站,它使用courtur主题和woocommerce。我没有安装这个网站,所以我不确定它是否配置正确。我的产品类别页面URL结构如下:

mysite/购物/

和我的产品页url:

Mysite/产品类别/category\\u名称/

我的分类页面面包屑显示如下:

您在这里:Home

我的分类页面面包屑显示如下:

您在这里:Home我需要将其显示为:You are here:Home/shop/category\\u name

我的产品页面面包屑:您在这里:Home/blog/product博客链接到我的店铺页面!!我需要让它显示为:你在这里:家/商店/类别名称/产品名称

我检查了permalinks选项,但似乎还可以。我检查了面包屑。php模板文件似乎认为shop()页面是我网站的主页。

我该如何解决这个问题,我应该编辑面包屑吗。php或我的设置中有错误?提前谢谢。

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

这可以做得容易得多。只需相应地更改permalinks设置即可,正如github在issue 3145:

满足以下标准:

// If permalinks contain the shop page in the URI prepend the breadcrumb with shop 
if (
  $shop_page_id
  && strstr( $permalinks[\'product_base\'], \'/\' . $shop_page->post_name )
  && get_option( \'page_on_front\' ) !== $shop_page_id
 ) {
   $prepend = $before 
     . \'<a href="\' . get_permalink( $shop_page ) . \'">\' 
     . $shop_page->post_title . \'</a> \' 
     . $after . $delimiter;
 }
否则,它永远不会预先准备好。

要应用此选项,请转到:

→ WordPress后端→ 设置→ 永久链接

并将woocommerce永久链接设置设置为以下设置之一:

如果使用了slug/Shop/,则为具有类别的Shop Base。。。«必须预先设置。

有一个issue 6584:

警告:preg\\u match():wc核心函数中的修饰符“t”未知。php在线533

例如,如果»Custom Base«如下所示:»/商店/产品/。。。«。有一个commit 这修复了它,它在master中可用,但在2.2.8中不可用。

slug part shop也可以被其他东西代替,例如本地化的东西。

SO网友:sh.e.salh

我发现面包屑代码在标题中。我的courture主题文件夹的php和该主题的作者没有为产品或产品类别页面编写代码,所以我添加了

elseif (is_single() && get_post_type() == \'product\'){   
$posts_page_id = get_option(\'page_for_posts\');
$posts_page_url = get_permalink($posts_page_id); 
echo \'<li>\';$bar = "shopping";
if(get_option_tree(\'blog_name\', \'\', false))
/*$bar=get_option_tree(\'blog_name\', \'\', false);*/ 
echo "<a href=".home_url()."/shopping/>$bar</a></li>";
echo "<li>";
the_title();
echo"</li>";
}
对于产品类别页

if (is_tax()) { 
$posts_page_id = get_option(\'page_for_posts\');
$posts_page_url = get_permalink($posts_page_id); 
echo \'<li>\';$bar = "Shopping";
if(get_option_tree(\'blog_name\', \'\', false)) 
echo "<a href=".home_url()."/shopping/>$bar</a> > </li>" ; 
echo "<li>"; 
woocommerce_page_title(); 
echo"</li>";}
我对获得blog\\u名称的行进行了评论,因为我为我的店铺使用了自定义页面,而不是woocommerce的默认页面。我不知道是否有其他方法可以做到这一点,但我注意到,这个主题中的大多数代码都不太专业,即使是在小部件css中,这也是一个错误的选择。

结束