WPML
Statut
Résolu
Signalé pour
WPML Multilingual for BuddyPress and BuddyBoss 1.7.0
Résolu dans
BuddyPress Multilingual 1.8.0
Extension/thème associé
BuddyBoss Platform
Étiquettes de sujet
Compatibility

Aperçu de l’anomalie

Dans BuddyBoss, lorsque les discussions sont traduites, les versions traduites peuvent ne pas avoir la bonne attribution de forum et risquent de ne pas s’afficher dans la boucle du forum. Ce problème peut empêcher les discussions traduites d’apparaître sous les forums traduits correspondants sur le front-end.

Solution de contournement

Veuillez vous assurer d’avoir une sauvegarde complète de votre site avant de continuer.


  • Allez sur la page WPML > Paramètres > Configuration XML personnalisée.

  • Ajoutez le code XML suivant :
    <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>

  • Ouvrez le fichier functions.php de votre thème.

  • Ajoutez le code PHP suivant :
    // 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);
  • Apportez une petite modification à la discussion d’origine et enregistrez-la.
  • Mettez à jour sa traduction

Toutes les anomalies connues →