Sprachvarianten mit gleicher OpenImmo-Objekt-ID (OBID)

Manche Software exportiert Immobilienobjekte in unterschiedlichen Sprachen mit gleicher OpenImmo-Objekt-ID (OBID).

Mit folgendem Filter kann die OBID um den Sprachcode ergänzt werden:

/**
 * Sprachcode an OBID anhängen (Ausnahmen: Standardsprache oder fehlendes Objekt-Sprachelement in der XML-Datei)
 */
function mysite_add_language_to_obid( $immobilie ) {
  $default_language = 'de';
  if ( ! isset( $immobilie->verwaltung_techn->sprache ) ) {
    return $immobilie;
  }
  $obid = (string) $immobilie->verwaltung_techn->openimmo_obid;
  $property_language = strtolower( substr( (string) $immobilie->verwaltung_techn->sprache, 0, 2 ) );
  if ( $property_language === $default_language ) {
    return $immobilie;
  }
  $immobilie->verwaltung_techn->openimmo_obid = $obid . '-' . $property_language;
  return $immobilie;
}
add_filter( 'immonex_oi2wp_property_xml_before_import', 'mysite_add_language_to_obid' );