Skip to content Skip to sidebar

Resolved by author

Resolved in: Meta Box v5.10.17

Topic Tags: Compatibility

Overview of the issue

When using Meta Box with WPML, the ‘Post’ relationship field defined via Meta Box is not automatically populated with translated posts IDs, leaving the translated post without a valid relationship.

Workaround

Please, make sure of having a full site backup of your site before proceeding.

  • Add the following code to your theme’s functions.php file.
    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;
    }
            
  • Replace 'parent_post' with the actual Meta Box field name used for your relationship.