WPML
ステータス
開発者により解決済み
解決されたバージョン
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フィールド名に置き換えます。

すべての既知の問題 →