如何让WooCommerce面包屑导航的最后一项可点击?
WooCommerce面包屑最后一项添加当前页链接实现方法
你之前查找的woocommerce_breadcrumb_defaults、woocommerce_breadcrumb_home_url等钩子仅支持修改面包屑基础配置、首页跳转地址、分类项逻辑,无法直接调整最后一项的链接属性,使用woocommerce_get_breadcrumb过滤钩子即可实现需求。
将以下代码添加到当前主题的functions.php文件,或者自定义功能插件的代码文件中即可生效:
add_filter( 'woocommerce_get_breadcrumb', 'custom_breadcrumb_last_item_link', 20, 2 ); function custom_breadcrumb_last_item_link( $crumbs, $breadcrumb ) { // 仅在面包屑项数大于1时修改,避免首页仅1项时重复添加链接 if ( count( $crumbs ) > 1 ) { // 获取最后一个面包屑项的键 $last_key = array_key_last( $crumbs ); // 给最后一项赋值当前页面URL $crumbs[$last_key][1] = get_permalink(); } return $crumbs; }
- 适配说明:
- 上述代码兼容PHP7.3及以上版本,若使用更低版本PHP,可将
$last_key = array_key_last( $crumbs );替换为end($crumbs); $last_key = key($crumbs); - 代码自动适配产品页、分类页、普通单页等所有站点页面类型,无需手动调整URL规则
- 若修改后不生效,检查主题是否自定义了面包屑模板,确认模板调用原生WooCommerce面包屑生成逻辑,没有硬编码最后一项为纯文本即可
- 上述代码兼容PHP7.3及以上版本,若使用更低版本PHP,可将
内容的提问来源于stack exchange,提问作者Amir Alikhani
相关产品推荐
相关产品推荐

