WPML
状态
已由作者解决
解决于
BetterDocs Pro v3.0.1
相关插件/主题
BetterDocs
主题标签
Compatibility

问题概述

如果您正在使用 BetterDocs Pro 插件,您会注意到分类页面上的知识库别名未被正确翻译。在切换语言时,知识库术语的别名不会反映语言的变化,从而导致分类页面上的 URL 不一致。

临时解决方法

在继续操作之前,请务必对您的站点进行完整备份


  • 打开 …/wp-content/plugins/betterdocs-pro/includes/Traits/MKB.php 文件。

  • 找到第 21 行。

  • 将:
    public function kb_terms( $term, $taxonomy ) {
        $current_term = get_term_by( 'slug', $term->slug, $taxonomy, OBJECT );
        $_term_attr   = get_term_meta( $current_term->term_id, 'doc_category_knowledge_base', true );
    
        if ( ! empty( $_term_attr ) ) {
            $_term_attr = array_values( array_filter($_term_attr, function( $item ){
                return ! empty( $item );
            }) );
        }
    
        return $_term_attr;
    }

  • 替换为:
    public function kb_terms( $term, $taxonomy ) {
        $current_term = get_term_by( 'slug', $term->slug, $taxonomy, OBJECT );
        $_term_attr   = get_term_meta( $current_term->term_id, 'doc_category_knowledge_base', true );
        
        // WPML Workaround for compsupp-6478
        if ( class_exists('Sitepress') ) {
            $_term_attr   = get_term_meta( $term->term_id, 'doc_category_knowledge_base', true );
        }
        
        if ( ! empty( $_term_attr ) ) {
            $_term_attr = array_values( array_filter($_term_attr, function( $item ){
                return ! empty( $item );
            }) );
        }
    
        return $_term_attr;
    }

所有已知问题 →