- ステータス
- 開発者により解決済み
- 解決されたバージョン
- Meta Box v5.10.17
- 関連するプラグイン/テーマ
- Meta Box
- トピックタグ
- Compatibility
問題の概要
WPMLとMeta Boxを使用する場合、Meta Boxで定義された「Post」リレーションシップフィールドには翻訳された投稿のIDが自動的に入力されず、翻訳された投稿が有効なリレーションシップを持たない状態になります。
回避策
続行する前に、サイトの完全なバックアップを取得していることを確認してください。
- テーマのfunctions.phpファイルに以下のコードを追加します。
add_filter( 'rwmb_meta', 'compsupp_8073_translate_parent_post_id', 10, 4 ); function compsupp_8073_translate_parent_post_id( $value, $key, $args, $post_id ) { if ( $key === 'parent_post' && ! empty( $value ) && is_numeric( $value ) ) { $current_lang = apply_filters( 'wpml_current_language', null ); $value = apply_filters( 'wpml_object_id', $value, 'parent-post', true, $current_lang ); } return $value; }
'parent_post'を、リレーションシップで使用されている実際のMeta Boxフィールド名に置き換えます。