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;
    }

すべての既知の問題 →