WPML
ステータス
解決済み
報告対象
WPML Multilingual for BuddyPress and BuddyBoss 1.7.0
解決されたバージョン
BuddyPress Multilingual 1.8.0
関連するプラグイン/テーマ
BuddyBoss Platform
トピックタグ
Compatibility

問題の概要

BuddyBossでは、ディスカッションが翻訳されると、翻訳版に正しいフォーラムが割り当てられず、フォーラムループ内に表示されない場合があります。この問題により、フロントエンドで対応する翻訳済みフォーラムの下に翻訳されたディスカッションが表示されなくなる可能性があります。

回避策

続行する前に、必ずサイトの完全なバックアップを取得してください。


  • WPML > 設定 > カスタム XML 設定ページに移動します。

  • 次の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>

  • テーマのfunctions.phpファイルを開きます。

  • 次の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);
  • 元のディスカッションに少し変更を加えて保存します。
  • その翻訳を更新します

すべての既知の問題 →