- ステータス
- 開発者により解決済み
- 解決されたバージョン
- Blocksy Companion 2.0.33
- 関連するプラグイン/テーマ
- Blocksy
- トピックタグ
- Compatibility
問題の概要
Blocksyテーマでは、WPMLでProducts Tab機能を使用すると、セカンダリ言語に翻訳されたタブがフロントエンドで誤って元の言語で表示される場合があります。
回避策
進める前に、サイトの完全なバックアップを取得していることを確認してください。
- …/wp-content/plugins/blocksy-companion-pro/framework/premium/extensions/woocommerce-extra/features/custom-tabs/feature.phpファイルを開きます。
- 139行目を探します。
- 次を:
$all_products_tabs = get_posts([ 'numberposts' => -1, 'post_type' => $this->post_type, ]);
- 次のように置き換えます:
$all_products_tabs = get_posts([ 'numberposts' => -1, 'post_type' => $this->post_type, // WPML Workaround for compsupp-7255 - PART 1 'suppress_filters' => false ]);
- 次に、…/wp-content/plugins/blocksy-companion-pro/framework/features/conditions/rules-resolver.phpファイルを開きます。
- 364行目を探します。
- 次を:
if ( isset($rule['payload']) && isset($rule['payload']['post_id']) && $post_id && intval($post_id) === intval($rule['payload']['post_id']) ) { return true; } - 次のように置き換えます:
// WPML Workaround for compsupp-7255 - Part 2 if ( class_exists('Sitepress') ) { $rule['payload']['post_id'] = apply_filters( 'wpml_object_id', $rule['payload']['post_id'], get_post_type($rule['payload']['post_id']) , TRUE ); } if ( isset($rule['payload']) && isset($rule['payload']['post_id']) && $post_id && intval($post_id) === intval($rule['payload']['post_id']) ) { return true; }