WPML
Stato
Risolto
Segnalato per
WPML Multilingual for BuddyPress and BuddyBoss 1.7.0
Risolto in
BuddyPress Multilingual 1.8.0
Plugin/tema correlato
BuddyBoss Platform
Tag dell’argomento
Compatibility

Panoramica del problema

In BuddyBoss, quando le discussioni vengono tradotte, le versioni tradotte potrebbero non avere l’assegnazione corretta al forum e potrebbero non essere visualizzate all’interno del loop del forum. Questo problema può far sì che le discussioni tradotte non appaiano sotto i corrispondenti forum tradotti sul frontend.

Soluzione alternativa

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


  • Vai alla pagina WPML > Impostazioni > Configurazione XML personalizzata.

  • Aggiungi il seguente XML:
    <wpml-config>
      <custom-fields>
        <custom-field action="copy-once">_bbp_forum_id</custom-field>
        <custom-field action="copy-once">_bbp_last_active_time</custom-field>
        <custom-field action="copy-once">_bbp_activity_id</custom-field>
        <custom-field action="copy-once">_bbp_author_ip</custom-field>
        <custom-field action="copy-once">	_bbp_reply_count</custom-field>
        <custom-field action="copy-once">_bbp_reply_count_hidden</custom-field>
        <custom-field action="copy-once">_bbp_topic_id</custom-field>
        <custom-field action="copy-once">_bbp_voice_count</custom-field>
      </custom-fields>
    </wpml-config>

  • Apri il file functions.php del tuo tema.

  • Aggiungi il seguente codice PHP:
    // WPMl Workaround for compsupp-7242
    function wpml_compsupp7242_filter_bbp_get_topic_forum_id($forum_id, $topic_id) {
        if ( class_exists('Sitepress') ) {
            $forum_id = apply_filters('wpml_object_id', $forum_id, get_post_type($forum_id), TRUE);
        }
    
        return $forum_id;
    }
    
    add_filter('bbp_get_topic_forum_id', 'wpml_compsupp7242_filter_bbp_get_topic_forum_id', 10, 2);
    
    // I'm not sure if this other filter is really needed, but I'm also adding here for reference
    function wpml_compsupp7242_filter_bbp_get_forum_id($bbp_forum_id, $forum_id) {
        if ( class_exists('Sitepress') ) {
            $bbp_forum_id = apply_filters('wpml_object_id', $bbp_forum_id, get_post_type($bbp_forum_id), TRUE);
        }
    
        return $bbp_forum_id;
    }
    
    add_filter('bbp_get_forum_id', 'wpml_compsupp7242_filter_bbp_get_forum_id', 10, 2);
  • Apporta una piccola modifica alla discussione originale e salvala.
  • Aggiorna la sua traduzione

Tutti i problemi noti →