immocore for WordPress WP Registry grade D-. Critical findings · 1 findingWP RegistryCritical findings · 1 findingOpen the reportD-
Das offizielle WordPress-Plugin für die domos-Integration.
Install
Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/domos-technologies/domos-wordpress/releases/download/2.0.3/domos-core-2.0.3.zip
immocore WordPress Integration
Funktionen
- Synchronisation von Objekten
- Shortcodes für die Darstellung einer Objektliste und -suche
- Seiten für die Darstellung von Objekten
- Eingebettete Karte
- Installation
- Konfiguration der Synchronisation
- Einbettung der Objektsuche/-karte
- Überschreiben des Theme-Layouts für Exposés
- Zugriff auf Immobiliendaten in WordPress
- Weitere Konfigurationen via WordPress-Filter
domos_primary_shadesdomos_gray_shadesdomos_is_using_dark_modedomos_privacy_policy_urldomos_default_navbar_heightdomos_lottie_colorsdomos_font_familiesdomos_estate_escape_hatchdomos_frontend_languagedomos_should_fallback_to_default_language_exposedomos_reuse_trashed_posts- Vollständiges Beispiel
- Hinweise
Hinweis zu domos-Bezeichnungen
Im Q1 2025 haben wir uns zu "immocore" umbenannt, und wir tauschen die Bezeichnungen in der Dokumentation kontinuierlich aus. Um Backwards-Compatibility zu gewährleisten, behalten wir die Bezeichnungen im PHP-Code aber vorerst bei.
Installation
- Lade das Plugin in das Verzeichnis
/wp-content/plugins/hoch - Aktiviere das Plugin "domos Core" im Menü 'Plugins' in WordPress
- Konfiguriere das Plugin im Menü 'domos', indem du die URL zu deiner immocore-Instanz angibst
- Füge den Shortcode
[domos-list]in eine Seite ein, um eine Liste der Objekte anzuzeigen - Syncronisiere die Objekte im Menü 'domos'
- Fertig! Die Objekte werden nun regelmäßig synchronisiert
Konfiguration der Synchronisation
Um die Objekte zu synchronisieren, musst du die URL deiner immocore-Instanz angeben. Dies kannst du in den Einstellungen des Plugins machen.
| Einstellung | Wert |
|---|---|
![]() |
Die domos Einstellungen findest du im WordPress-Admin-Bereich unten im Menü 'domos'. |
![]() |
Du kannst die URL deiner immocore-Instanz hier angeben. |
![]() |
Nach dem Speichern wird die Verbindung zu deiner immocore-Instanz hergestellt und gespeichert. |
![]() |
Du kannst außerdem weitere Sprachen konfigurieren, die synchronisiert werden sollen. So kannst du übersetzte auch Inahlte & Exposés auf deiner Website anzeigen. |
![]() |
Unter dem Menüpunkt "Sync" kannst du die Objekte nun synchronisieren. Dies erfolgt automatisch jeden Tag um Mitternacht. |
![]() |
Wenn alles geklappt hat, siehst du, was synchronisiert wurde. |
Einbettung der Objektsuche/-karte
Die einfache Objektsuche/-karte kann über den
Shortcode [domos-list] in eine beliebige Seite eingebettet werden.
Überschreiben des Theme-Layouts für Exposés
WordPress Post Name: domos_estate
Wenn du ein Theme verwendest, dass ein eigenes Layout für Objekte oder die Standard WordPress-Post-Liste verwendest, kannst du in deinem Theme die Datei single-domos_estate.php oder archive-domos_estate.php überschreiben.
single-domos_estate.phpwird für einzelne Exposés verwendet.archive-domos_estate.phpwird für die Standard WordPress-Post-Liste verwendet.
Zugriff auf Immobiliendaten in WordPress
Die EstatePost-Klasse stellt eine Brücke zwischen dem Immobiliendatenschema und WordPress her und ermöglicht es Ihnen, Immobilieninformationen abzurufen und anzuzeigen, die als WordPress-Beiträge gespeichert sind. Dieser Abschnitt erklärt, wie Sie die EstatePost-Klasse verwenden, um auf Immobiliendaten in einer WordPress-Umgebung zuzugreifen, wobei der Schwerpunkt auf Aufgaben liegt, die für die Erstellung von Websites relevant sind.
Zugriff auf Immobiliendaten via Immocore-ID
Um eine Immobilie anhand ihrer externen ID abzurufen:
$externalId = 'immocore-ID'; // Ihre externe ID
$estatePost = \Domos\Core\EstatePost::find($externalId);
if ($estatePost !== null) {
$estate = $estatePost->data; // Dies ist eine Instanz von SchemaImmo\Estate
echo "Immobilienname: " . $estate->name;
echo "Immobilienadresse: " . $estate->address->street . " " . $estate->address->number;
} else {
echo "Immobilie nicht gefunden";
}
Zugriff auf Immobiliendaten via WordPress-Post
Wenn mit Immobiliendaten in WordPress-Templates gearbeitet werden soll, kann die Methode EstatePost::fromPost() verwendet werden, um die Immobiliendaten aus einem $post zu erhalten:
global $post;
if ($post->post_type === \Domos\Core\EstatePost::POST_TYPE) {
$estatePost = \Domos\Core\EstatePost::fromPost($post);
$estate = $estatePost->data;
// Jetzt können Sie auf alle Immobiliendaten zugreifen
echo "<h1>{$estate->name}</h1>";
echo "<p>Adresse: {$estate->address->street} {$estate->address->number}, {$estate->address->city}</p>";
if ($estate->media->thumbnail) {
echo "<img src='{$estate->media->thumbnail->src}' alt='{$estate->media->thumbnail->alt}'>";
}
// Merkmale anzeigen
if (!empty($estate->features)) {
echo "<h2>Merkmale:</h2><ul>";
foreach ($estate->features as $feature => $value) {
echo "<li>{$feature}: {$value}</li>";
}
echo "</ul>";
}
// Mietflächen anzeigen
if (!empty($estate->buildings)) {
foreach ($estate->buildings as $building) {
echo "<h2>Gebäude: {$building->name}</h2>";
foreach ($building->rentables as $rentable) {
echo "<h3>Mietfläche: {$rentable->name}</h3>";
echo "<p>Fläche: {$rentable->area} qm</p>"; // "sqm" zu "qm" lokalisiert
echo "<p>Preis: {$rentable->price->base->amount} {$rentable->price->base->currency->value}</p>";
}
}
}
}
Dieses Beispiel zeigt, wie auf verschiedene Aspekte der Immobiliendaten in einem WordPress-Template zugegriffen werden kann.
Zugriff auf übersetzte Immobiliendaten
Wenn andere Sprachen synchronisiert wurden, kann der find- und fromPost-Methode eine Sprache übergeben werden, um übersetzte Daten zu erhalten (solange diese vorhanden sind).
Sind sie es nicht, wird die Standardsprache verwendet.
$estatePost = \Domos\Core\EstatePost::find($externalId, language: 'en');
$estatePost = \Domos\Core\EstatePost::fromPost($post, language: 'en');
$estate = $estatePost->data;
// Texte & Exposé sind auf Englisch
Wenn die gewünschte Sprache nicht verfügbar ist, wird die Standardsprache verwendet.
[!NOTE] Nicht für jede Sprache gibt es auch zwangsläufig ein
WebExpose, auch wenn das Objekt selber übersetzt wurde. Die Variable$estate->exposeist dannnull.
Um zu prüfen, ob Daten für eine bestimmte Sprache verfügbar sind, kann die EstatePost::hasLanguage($post_id, $language)-Methode verwendet werden:
$hasLanguage = \Domos\Core\EstatePost::hasLanguage($post->ID, 'en');
Mehrere Immobilien finden
Um mehrere Immobilien abzurufen, kann die WordPress-Klasse WP_Query in Kombination mit EstatePost::fromPost() verwendet werden:
$args = array(
'post_type' => \Domos\Core\EstatePost::POST_TYPE,
'posts_per_page' => 10,
// ...
);
$query = new WP_Query($args);
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
$estatePost = \Domos\Core\EstatePost::fromPost($query->post);
$estate = $estatePost->data;
// Immobilieninformationen anzeigen
echo "<h2>{$estate->name}</h2>";
echo "<p>{$estate->address->city}, {$estate->address->country}</p>";
}
wp_reset_postdata();
} else {
echo "Keine Immobilien gefunden";
}
Dieses Beispiel zeigt, wie man mehrere Immobilien abfragt und grundlegende Informationen für jede anzeigt.
Immobilienverwaltungsoperationen (Interne Verwendung)
Die folgenden Operationen sind hauptsächlich für den internen Gebrauch und die Datenverwaltung vorgesehen:
- Erstellen einer neuen Immobilie:
EstatePost::create($externalId, $estateData) - Aktualisieren einer bestehenden Immobilie:
EstatePost::update($externalId, $updatedEstateData) - Löschen einer Immobilie:
EstatePost::delete($externalId) - Finden nicht mehr benötigter Immobilien:
EstatePost::findUnneeded($activeIds)
Diese Methoden sollten mit Vorsicht und typischerweise innerhalb von administrativen Oberflächen oder Hintergrundprozessen verwendet werden, anstatt in öffentlich zugänglichem Website-Code.
Durch die Verwendung der EstatePost-Klasse kann das Immobiliendatenschema nahtlos in WordPress integriert werden, was den einfachen Abruf und die Anzeige komplexer Immobilieninformationen auf der WordPress-Site ermöglicht.
Weitere Konfigurationen via WordPress-Filter
1. domos_primary_shades
Modifiziert die primären Farben, die im Plugin verwendet werden. Verwendet Farb-Paletten im Tailwind-Format.
Standardwert: Ein Array von Farbcodes für die Schattierungen 50 bis 950.
Anwendung:
add_filter('domos_primary_shades', fn () => [
'50' => '#f4f7fb',
'100' => '#e9eff7',
'200' => '#c7d7ec',
'300' => '#a5bee1',
'400' => '#628eca',
'500' => '#1e5db3',
'600' => '#1b54a1',
'700' => '#174686',
'800' => '#12386b',
'900' => '#0f2e58',
'950' => '#091c36',
]);
2. domos_gray_shades
Modifiziert die grauen Farben, die im Plugin verwendet werden. Verwendet Farb-Paletten im Tailwind-Format.
Standardwert: Ein Array von Farbcodes für die Schattierungen 50 bis 950.
Anwendung:
add_filter('domos_gray_shades', fn () => [
'50' => '#fafafa',
'100' => '#f5f5f5',
'200' => '#e5e5e5',
'300' => '#d4d4d4',
'400' => '#a3a3a3',
'500' => '#737373',
'600' => '#525252',
'700' => '#404040',
'800' => '#262626',
'900' => '#171717',
'950' => '#0a0a0a',
]);
3. domos_is_using_dark_mode
Bestimmt, ob das Plugin den Dunkelmodus verwenden soll.
Standardwert: false
Anwendung:
add_filter('domos_is_using_dark_mode', fn () => true);
4. domos_privacy_policy_url
Legt die URL für die Datenschutzrichtlinie fest.
Standardwert: '/datenschutz'
Anwendung:
add_filter('domos_privacy_policy_url', fn () => '/neue-datenschutzrichtlinie');
5. domos_default_navbar_height
Die Kopfbereiche der Exposés können "Full-Height"-Varianten verwenden, welche den Kopfbereich auf die gesamte Höhe des Bildschirms bringen.
Legt die Höhe für die Navigationsleiste fest, damit diese von der "Full-Height" abgezogen werden kann. (HTML-Einheiten wie px, em oder rem möglich).
Standardwert: 80px
Anwendung:
add_filter('domos_default_navbar_height', fn () => '100rem');
6. domos_lottie_colors
Modifiziert die Farben, die in den Merkmal-Icons verwendet werden.
![]()
Standardwert: Ein Array mit 'color1' (primäre Schattierung 900) und 'color2' (primäre Schattierung 500).
Anwendung:
add_filter('domos_lottie_colors', fn () => [
'color1' => '#0f2e58', // Angepasstes Dunkelblau
'color2' => '#1e5db3', // Angepasstes Hellblau
]);
7. domos_font_families
Konfiguriert die Schriftarten, die innerhalb des Exposés verwendet werden sollen.
Akzeptiert ein Array von Schriftarten, die von WordPress verwendet werden.
Es werden automatisch "" doppelte Anführungszeichen hinzugefügt, außer bei Werten wie inherit, sans-serif, etc...
[!NOTE] Die Schriftarten müssen selber via normales WordPress CSS importiert werden. Dieser Filter legt nur fest, welche Schriftart von den Exposé-Elementen verwendet werden soll.
Standardwert: ['sans-serif']
Anwendung:
add_filter('domos_font_families', fn () => ['Roboto Slab', 'serif']);
8. domos_estate_escape_hatch
[!TIP] Dies ist kein Filter via
add_filter(), sondern eine "Action" viaadd_action().
Diese Action dient dazu, eigenes CSS und JS innerhalb des Shadow DOM eines Exposés zu platzieren. Durch die Funktionsweise des Shadow DOM, kann es schwieriger sein, Inhalte innerhalb des Shadow DOMs zu stylen und zu bearbeiten.
Diese Action wird innerhalb des Shadow DOMs ausgeführt, wodurch jeder `
Releases
14 releases. Each count is every asset in that release; expand a row for the breakdown.





