- ステータス
- 解決済み
- 報告対象
- 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); - 元のディスカッションに少し変更を加えて保存します。
- その翻訳を更新します