WPML
Stato
Risolto dall’autore
Risolto in
BetterDocs Pro v3.0.1
Plugin/tema correlato
BetterDocs
Tag dell’argomento
Compatibility

Panoramica del problema

Se utilizzi il plugin BetterDocs Pro, noterai che lo slug della knowledgebase non viene tradotto correttamente nella pagina della categoria. Quando passi da una lingua all’altra, lo slug dei termini della Knowledgebase non riflette il cambio di lingua, causando URL incoerenti nella pagina della categoria.

Soluzione alternativa

Assicurati di avere un backup completo del tuo sito prima di procedere.


  • Apri il file …/wp-content/plugins/betterdocs-pro/includes/Traits/MKB.php.

  • Cerca la riga 21.

  • Sostituisci:
    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;
    }

  • Con:
    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;
    }

Tutti i problemi noti →