【问题标题】:How to remove parent category from Yoast breadcrumbs如何从 Yoast 面包屑中删除父类别
【发布时间】:2015-03-18 09:32:12
【问题描述】:

我很难让这个链接/类别从我的 bredcrumb 路径中消失。

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

为了清楚起见,这是一个使用 Types 插件制作的自定义帖子类型,并且面包屑使用的是由 Yoast 面包屑提供的 SEO

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

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

谢谢!

【问题讨论】:

  • Yoast 中应该有一个选项可以去除类别库,如果您勾选此选项,请转到设置 -> 永久链接并重新保存您的永久链接
  • 感谢您的建议,但它不会解决问题,因为它只会删除网址前面的世界“类别”。
  • :(在这种情况下试试我的答案

标签: php wordpress breadcrumbs


【解决方案1】:
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;
}

【讨论】:

  • 也无法使其正常工作,但无论如何感谢。重型工具(jQuery)的时间。
【解决方案2】:

所以我通过使用 jQuerycontains -selector 解决了这个问题。

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

这显然只删除了链接,因此类别名称仍然保留。

如果应该删除整个东西,那么可以使用以下内容:

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

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

【讨论】:

    【解决方案3】:

    我在自定义帖子类型方面遇到了同样的问题。

    查看数组的输出后,我看到 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' );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多