如何从 Yoast 面包屑中删除父类别

How to remove parent category from Yoast breadcrumbs

我很难让这个 link/category 从我的 bredcrumb 路径中消失。

路径如下:home/customPostTypeCategory/subCategory/child/,所以我需要做的就是让 customPostTypeCategory 消失。

很明显,这是一个使用 Types 插件制作的 Custom post type,面包屑导航正在使用Yoast 面包屑搜索引擎优化

这可以通过 CSS 完成,但这是我愿意使用的最后一个解决方案。

任何线索、提示或技巧如何做到这一点?

谢谢!

add_filter( 'wpseo_breadcrumb_links', 'my_breadcrumb_filter_function' );
function my_breadcrumb_filter_function( $crumbs ) {
    foreach( $crumbs as $i => $crumb ) {
        $term = get_object_vars($crumb['term']);
       if( isset( $term['parent'] ) && $term['parent'] != 0 ) {

        } else {
            $new_crumbs[] = $crumbs[$i];
        }
    }
    return $new_crumbs;
}

所以我通过使用 jQuerycontains -selector.

解决了这个问题

$( "#breadcrumbs a:contains('customPostTypeCategory')" ).removeAttr( "href" );

这显然只删除了 link,因此类别名称仍然存在。

如果要删除整个内容,则可以使用以下内容:

$( "#breadcrumbs a:contains('customPostTypeCategory')" ).css( "display", "none" );

这对我有用,但这不是我一直在寻找和要求的解决方案。

我在使用自定义 post 类型时遇到了同样的问题。

查看数组的输出后,我看到 array(1) 是存档,我相信你称之为类别。

这对我有用:

function my_breadcrumb_filter_function( $crumbs ) {

    // replace "cpt" with your custom post type name 
    if(is_singular('cpt')) {
      $crumbs[1] = '';
    }
    return $crumbs;

}
add_filter( 'wpseo_breadcrumb_links', 'my_breadcrumb_filter_function' );