WPML
Status
Vom Autor gelöst
Zugehöriges Plugin/Theme
Houzez
Themen-Tags
Compatibility

Übersicht über das Problem

Wenn Sie das Houzez-Theme verwenden, kann das folgende Problem auftreten: Übersetzte Immobilien behalten ihre Maklerzuweisung nicht bei, wodurch in den übersetzten Maklerprofilen null Immobilien angezeigt werden. Dies geschieht, weil das Maklerfeld (fave_agents) nicht korrekt mit dem übersetzten Maklerbeitrag verknüpft ist.

Problemumgehung

Bitte stellen Sie sicher, dass Sie über ein vollständiges Backup Ihrer Website verfügen, bevor Sie fortfahren.

1. Übersetzungseinstellung festlegen


  • Gehen Sie zu „WPML > Einstellungen > Übersetzung benutzerdefinierter Felder“

  • Setzen Sie die Übersetzungseinstellung des benutzerdefinierten Feldes fave_agents auf Kopieren

2. Handhabung der Makler-ID in den Theme-Funktionen anpassen


  • Öffnen Sie die Datei …/wp-content/themes/houzez/framework/functions/property_functions.php.

  • Suchen Sie nach Zeile 3663 (Funktion houzez_get_property_agent).

  • Ersetzen Sie:
    $agent_id = intval( $agent );
            


  • Durch:
    $agent_id = intval( $agent );
    // WPML Workaround for compsupp-7949 
    $agent_id = apply_filters( 'wpml_object_id', $agent_id, 'houzez_agent', TRUE ); 
            

  • Suchen Sie nach Zeile 3738 (Funktion houzez20_get_property_agent).
  • Ersetzen Sie:
    $agent_id = intval( $agent_id );
            
  • Durch:
    $agent_id = intval( $agent_id );
    // WPML Workaround for compsupp-7949 
    $agent_id = apply_filters( 'wpml_object_id', $agent_id, 'houzez_agent', TRUE ); 
            

3. Sicherstellen, dass das Makler-Profil die richtigen Immobilien auflistet

  • Öffnen Sie die Datei …/wp-content/themes/houzez/framework/classes/Houzez_Query.php.
  • Suchen Sie nach Zeile 718 (Funktion loop_agent_properties).
  • Ersetzen Sie:
    $agent_id = get_the_ID();
            
  • Durch:
    $agent_id = get_the_ID();
    // WPML Workaround for compsupp-7949 
    $default_lang = apply_filters('wpml_default_language', NULL );  
    $agent_id = apply_filters( 'wpml_object_id', $agent_id, 'houzez_agent', TRUE,  $default_lang ); 
            

Alle bekannten Probleme →