Webist WP Esti CRM - dokumentacja

Spis treści

Aktualna wersja wtyczki: 0.8.0
Poprzednia wersja wtyczki: 0.7.6

Wymagania wtyczki

Wtyczka Webist WP Esti CRM ma minimalne wymagania, które WordPress, serwer oraz nasz Klient muszą spełniać. Oto ich lista:

  • aktywny SSL,
  • minimalna wersja PHP: 7.4.
  • obsługa PHP cURL.
  • poprawny klucz licencyjny do wtyczki,
  • companyID i token z Esti CRM.

Konfiguracja WordPress’a

Instalacja wtyczki przebiega w standardowy sposób. Należy ją zainstalować ręcznie przesyłając plik archiwum ZIP na serwer. Następnie warto się upewnić, czy w Ustawienia -> Bezpośrednie odnośniki mamy opcje ustawione tak jak na obrazku poniżej:

 

Instalacja wtyczki Webist WP Esti CRM

Company ID oraz Token

Company ID oraz Token powinny znajdować się w panelu Esti CRM. Po zalogowaniu należy przejść do Ustawienia -> Dane firmowe. Tam wszystko powinno być. W innym wypadku proszę kontaktować się z administracją systemu CRM.

Tytuł może wydawać się mylący, ale nie chodzi tutaj o rodzaj API lub o typ eksportu, a o to, w jaki sposób aktualizator ofert aktualnie działa.

W tym momencie aktualizator pobiera nieruchomości w następujący sposób:

  1. Najpierw usuwane są nieruchomości, które nie znajdują się już w API, ale znajdują się w WordPressie.
  2. Następnie, jeśli post istnieje to sprawdza jego datę oraz datę aktualizacji z Esti CRM:
    1. Jeśli data jest późniejsza niż data w WordPressie to usuwa nieruchomość i pobiera ją na nowo.
    2. Jeśli data jest wcześniejsza lub równa dacie z API, to omija tą nieruchomość (nie potrzebuje ona aktualizacji).
  3. Natomiast, jeśli post nie istnieje to po prostu go dodaje.

Wtyczka posiada własne archiwum (korzysta z templatu motywu). Zmiana archiwum wtyczki może nastąpić poprzez nadpisanie template’u wtyczki w pliku functions.php lub poprzez Theme Builder (Kreator Motywów) w Elementorze Pro. Także prawidłowo skonfigurowane archiwum dla wszystkich rodzai wpisów jest dobrym rozwiązaniem.

Wyświetlić archiwum nieruchomości można za pomocą shortcode: [all_estates_archive].

Aby wyświetlić listing nieruchomości należy użyć shortcode [all_estates]. Shortcode ten zwraca listę wszystkich nieruchomości wraz z paginacją (podzieleniem na strony). Style elementu można zmienić nadpisując kod CSS lub używając ustawień*.
* – rozwiązanie dostępne w przyszłości

Przykładowy kod:

				
					<?php
//wyświetlenie listingu za pomocą shortcode
echo do_shortcode('[all_estates]');
?>
				
			

Kategorie we wtyczce możemy skonfigurować poprzez dodanie kategorii obsługiwanych przez wtyczkę do ustawień samej wtyczki. Wystarczy uzupełnić Custom Taxonomy dla Custom Post Type wtyczki.

Na początku, w kokpicie, przechodzimy do „Nieruchomości” -> „Kategorie”. Następnie dodajemy dwie kategorie:

  • Sprzedaż (slug: sprzedaz),
  • Wynajem (slug: wynajem).

Wtyczka automatycznie przypisze nieruchomość do odpowiedniej kategorii na podstawie danych z Esti CRM.

Istnieje także możliwość wyświetlenia nazwy taksonomii (z linkiem lub bez oraz z własną wartością tagu title):

				
					// wyświetlenie wartości dla bieżacego posta
[estate_tax key='category' link=true/false title='Tekst title linku']
// wyświetlenie wartości dla posta o danym ID (tu: 32)
[estate_tax key='category' link=true/false title='Tekst title linku' post_id=32]
				
			

Typy nieruchomości we wtyczce możemy skonfigurować poprzez dodanie kategorii obsługiwanych przez wtyczkę do ustawień samej wtyczki. Wystarczy uzupełnić Custom Taxonomy dla Custom Post Type wtyczki.

Na początku, w kokpicie, przechodzimy do „Nieruchomości” -> „Typ”. Następnie dodajemy wszystkie typy obsługiwane przez EstiCRM. Przykładowo:

  • Mieszkanie (slug: mieszkanie),
  • Działka (Rolna) (slug: dzialka-rolna).

Wtyczka automatycznie przypisze nieruchomość do odpowiedniego typu na podstawie danych z Esti CRM.

Istnieje także możliwość wyświetlenia nazwy taksonomii (z linkiem lub bez oraz z własną wartością tagu title):

				
					// wyświetlenie wartości dla bieżacego posta
[estate_tax key='type' link=true/false title='Tekst title linku']
// wyświetlenie wartości dla posta o danym ID (tu: 32)
[estate_tax key='type' link=true/false title='Tekst title linku' post_id=32]
				
			

Lokalizację we wtyczce możemy skonfigurować poprzez dodanie wszystkich obsługiwanych miast do ustawień wtyczki. Wystarczy uzupełnić Custom Taxonomy dla Custom Post Type wtyczki.

Na początku, w kokpicie, przechodzimy do „Nieruchomości” -> „Lokalizacja”:

Następnym krokiem jest po prostu dodanie lokalizacji zgodnie z tym, jakie są w EstiCRM:

Wtyczka automatycznie przypisuje nieruchomość do danej lokalizacji na podstawie danych z EstiCRM.

Istnieje także możliwość wyświetlenia nazwy taksonomii (z linkiem lub bez oraz z własną wartością tagu title):

				
					// wyświetlenie wartości dla bieżacego posta
[estate_tax key='localization' link=true/false title='Tekst title linku']
// wyświetlenie wartości dla posta o danym ID (tu: 32)
[estate_tax key='localization' link=true/false title='Tekst title linku' post_id=32]
				
			

Dzielnicę we wtyczce możemy skonfigurować poprzez dodanie wszystkich obsługiwanych dzielnic do ustawień wtyczki. Wystarczy uzupełnić Custom Taxonomy dla Custom Post Type wtyczki. UWAGA! Nie jest to w zasadzie konieczne, ponieważ wtyczka sama utworzy odpowiednie dzielnice (na podstawie danych z API).

Na początku, w kokpicie, przechodzimy do „Nieruchomości” -> „Dzielnica”:

Następnym krokiem jest po prostu dodanie Dzielnicy zgodnie z tym, jakie są w EstiCRM:

Wtyczka automatycznie przypisuje nieruchomość do danej dzielnicy na podstawie danych z EstiCRM.

Istnieje także możliwość wyświetlenia nazwy taksonomii (z linkiem lub bez oraz z własną wartością tagu title):

				
					// wyświetlenie wartości dla bieżacego posta
[estate_tax key='district' link=true/false title='Tekst title linku']
// wyświetlenie wartości dla posta o danym ID (tu: 32)
[estate_tax key='district' link=true/false title='Tekst title linku' post_id=32]
				
			

Kraje we wtyczce możemy skonfigurować poprzez dodanie wszystkich obsługiwanych krajów do ustawień wtyczki. Wystarczy uzupełnić Custom Taxonomy dla Custom Post Type wtyczki. UWAGA! Nie jest to w zasadzie konieczne, ponieważ wtyczka sama utworzy odpowiednie kraje (na podstawie danych z API).

Na początku, w kokpicie, przechodzimy do „Nieruchomości” -> „Kraj”:

Następnym krokiem jest po prostu dodanie Krajów zgodnie z tym, jakie są w EstiCRM:

Wtyczka automatycznie przypisuje nieruchomość do danego kraju na podstawie danych z EstiCRM.

Istnieje także możliwość wyświetlenia nazwy taksonomii (z linkiem lub bez oraz z własną wartością tagu title):

				
					// wyświetlenie wartości dla bieżacego posta
[estate_tax key='country' link=true/false title='Tekst title linku']
// wyświetlenie wartości dla posta o danym ID (tu: 32)
[estate_tax key='country' link=true/false title='Tekst title linku' post_id=32]
				
			

Taksonomię agenta we wtyczce możemy skonfigurować poprzez dodanie go ręcznie lub pobranie ofert. Aktualizator ofert spróbuje automatycznie uzupełnić dane na temat agenta. Jest także możliwość wypełnienia ich ręcznie. Wystarczy uzupełnić Custom Taxonomy dla Custom Post Type wtyczki.

Na początku, w kokpicie, przechodzimy do „Nieruchomości” -> „Agent”:

Następnym krokiem jest po prostu dodanie lub uzupełnienie informacji na temat agenta. Z każdym odświeżeniem informacje są uzupełniane o te z API, jeśli te dane nie są puste:

Dodatkowo, wtyczka posiada shortcode pozwalający na wyświetlenie informacji na temat agenta danej nieruchomości:

				
					//wyświetlenie wartości dla bieżacego posta (pojedynczego)
[estate_agent_meta meta_key="klucz_metadanych"]
//wyświetlenie wartości dla wybraneg posta (po ID)
[estate_agent_meta meta_key="klucz_metadanych" post_id="123"]
				
			

Poniżej znajduje się lista kluczy dla tego shortcode’a:

  • WWEC_AgentName – imię agenta,
  • WWEC_AgentSurname – nazwisko agenta,
  • WWEC_AgentFullname – imię i nazwisko agenta,
  • WWEC_AgentEmail – adres e-mail agenta,
  • WWEC_AgentFirstPhoneNumber – pierwszy numer telefonu agenta,
  • WWEC_AgentSecondPhoneNumber – drugi numer telefonu agenta,
  • WWEC_AgentLicenseNumber – numer licencji agenta,
  • WWEC_AgentImage – obrazek wyróżniający agenta (wyświetlenie),
  • WWEC_AgentImageID – ID obrazka wyróżniającego (z WP Media) agenta.

Istnieje także możliwość wyświetlenia bezpośrednio numeru i/lub adresu e-mail wraz z linkiem. Do tego należy użyć argumentu link=true. Taka możliwość istnieje dla numeru telefonu i adresu e-mail:

				
					//wyświetlenie wartości dla bieżacego posta (pojedynczego)
[estate_agent_meta meta_key="WWEC_AgentFirstPhoneNumber" link=true] // <a href="tel: 123456789" title="Zadzwoń do nas">123456789</a>
				
			

Wtyczka posiada możliwość pobierania obrazów bezpośrednio na serwer. Obrazy te zostają zapisane w mediach strony oraz przypisane do odpowiednich nieruchomości. Na poniższym screenshocie widać ustawienia pobierania obrazów:

Należy pamiętać o tym, że pobieranie obrazów wymaga większych zasobów niż sama aktualizacja ofert. Jeśli aktualizacja nie następuje w pełni lub w trakcie skrypt się „crashuje” to należy rozważyć poniższe rozwiązania:
  • zwiększenie WP_MEMORY_LIMIT,
  • zwiększenie max_execution_time w ustawieniach PHP,
  • zwiększenie memory_limit w ustawieniach PHP (jest to powiązane bezpośrednio z WP_MEMORY_LIMIT).
Należy pamiętać o tym, że nawet, jeśli wyłączymy pobieranie obrazów to obrazek wyróżniający i tak będzie pobierany przez wtyczkę.

Istnieje możliwość dodania galerii zdjęć (wyświetlane są zdjęcia nieruchomości w prostym sliderze). Są na to dwa sposoby. Pierwszy to zmiana ustawień (w panelu wtyczki). Tam możemy włączyć lub wyłączyć wyświetlanie galerii obrazów do posta (także możesz zmienić szybkość przewijania zdjęć):

Drugim sposobem jest użycie shortcode. Pozwala on na wyświetlenie galerii w pojedynczym poście typu Nieruchomości.

				
					// wyświetlenie galerii zdjęć dla bieżacego posta (pojedynczego)
[estate_gallery]
// wyświetlenie galerii zdjęć dla wybraneg posta (po ID)
[estate_gallery post_id="123"]
				
			

Należy pamiętać, że jeśli nieruchomość nie ma zdjęć to w tym miejscu wyświetli się komunikat widoczny tylko dla administratorów witryny.

Dodatkowo, istnieje możliwość włączenia lightbox’a do zdjęć. Domyślnie jest on wyłączony. Należy to zrobić z poziomu ustawień w panelu wtyczki (Ustawienia -> Lightbox):

Istnieje możliwość dodania mapy (wyświetlana jest lokalizacja nieruchomości). Są na to dwa sposoby. Pierwszy to zmiana ustawień (w panelu wtyczki). Tam możemy włączyć lub wyłączyć dodawanie mapy do posta (także możesz zmienić zoom na mapie):

Drugim sposobem jest użycie shortcode. Pozwala on na wyświetlenie mapy w pojedynczym poście typu Nieruchomości.

				
					//wyświetlenie mapy dla bieżacego posta (pojedynczego)
[estate_map]
//wyświetlenie wartości dla wybraneg posta (po ID)
[estate_map post_id="123"]
				
			

W obu przypadkach zostaje użyta mapa z OpenStreetMap. Należy pamiętać także o tym, że jeśli adres będzie w nieprawidłowym formacie to mapa może się wyświetlać w sposób nieprawidłowy. Może także przez to wcale się nie wyświetlać w pojedynczej nieruchomości. Dodatkowo, przy pierwszym włączeniu wtyczka ma domyślnie wyłączoną tą opcję w ustawieniach.

Wtyczka umożliwia tworzenie własnej wyszukiwarki dostosowanej do indywidualnych wymagań. Dzięki elastycznym opcjom konfiguracji możesz samodzielnie określić, jakie pola mają się pojawić w formularzu, jak ma działać filtrowanie oraz jakie dane mają być przeszukiwane. Wszystko to bez potrzeby ingerencji w kod.

Sposób działania wyszukiwarki

Wyszukiwarka działa na podstawie shortcode umieszczonego na podstronie lub w archiwum. Po załadowaniu strony shortcode generuje formularz oraz modyfikuje zapytanie WP_Query, które domyślnie pobiera dane z post_type „nieruchomosci”. Po kliknięciu przycisku „Szukaj” zapytanie jest ponownie generowane i filtrowane według wybranych opcji formularza. Wyszukiwarka obsługuje filtrowanie po taksonomiach i meta danych. Formularz nie zawiera domyślnych stylów graficznych. Wygląd należy dostosować samodzielnie za pomocą własnego kodu CSS.

Wyszukiwanie po taksonomiach

Wtyczka umożliwia filtrowanie wyników na podstawie wybranych taksonomii. Dla każdego pola wyszukiwarki można zdefiniować własny placeholder, określić, czy mają być wyświetlane również taksonomie bez przypisanych wpisów, oraz ustawić logikę filtrowania: IN (domyślnie), OR lub AND. Ustawienia te pozwalają precyzyjnie kontrolować sposób działania filtrów w formularzu wyszukiwania. Aktualnie można użyć wszystkich taksonomii do filtracji ofert.

Wyszukiwanie po meta

Wtyczka umożliwia filtrowanie wyników na podstawie wartości pól meta. Aktualnie dostępne są dwa typy filtrów: cena oraz powierzchnia. Oba pola obsługiwane są jako suwaki zakresu (range sliders), umożliwiające określenie minimalnej i maksymalnej wartości. Filtrowanie odbywa się na podstawie wartości zapisanych w metadanych wpisów i działa niezależnie od filtrów taksonomicznych.

Lista nazw elementów dla Custom Meta Box każdego posta:

  • propertyAgentName – imię agenta nieruchomości, wartość tekstowa, wartość domyślna: „Brak”,
  • propertyAgentSurname – nazwisko agenta nieruchomości, wartość tekstowa, wartość domyślna: „Brak”,
  • propertyAgentPhone – numer telefonu agenta nieruchomości, wartość liczbowa, wartość domyślna: „Brak”,
  • propertyAgentEmail – adres e-mail agenta nieruchomości, wartość tekstowa, wartość domyślna: „Brak”,
  • propertyFloors – ilość pięter w nieruchomości, wartość domyślna: „Brak”,
  • propertyElevator – czy nieruchomość posiada windę, wartości:
    • 0 – nie posiada,
    • 1 – posiada,
  • propertyPrice – cena nieruchomości, preformatowana (np. cena 1000000 jest zmieniania na podstawie ustawień w panelu wtyczki), wartość domyślna: „Brak”,
  • propertyPricePerM – cena za metr kwadratowy, wartość tekstowa, brak formatowania, wartość domyślna: „Brak”,
  • propertyPriceCurrency – waluta, możliwe wartości:
    • PLN,
    • EUR,
    • USD,
  • propertyArea – powierzchnia nieruchomości, tylko wartość liczbowa, wartość domyślna: „Brak”,
  • propertyPlotArea – powierzchnia działki nieruchomości, tylko wartość liczbowa, wartość domyślna: „Brak”,
  • propertyUsableArea – powierzchnia użytkowa nieruchomości, tylko wartość liczbowa, wartość domyślna: „Brak”,
  • propertyLocalization – lokalizacja nieruchomości, wartość tekstowa, wartość domyślna: „Brak”,
  • propertyLatitude – szerokość geograficzna nieruchomości, wartość tekstowa, wartość domyślna: „”,
  • propertyLongitude – długość geograficzna nieruchomości, wartość tekstowa, wartość domyślna: „”,
  • propertyRooms – ilość pokoi w nieruchomości, wartość liczbowa, wartość domyślna: „Brak”,
  • propertyBathrooms – ilość łazienek w nieruchomości, wartość liczbowa, wartość domyślna: „Brak”,
  • propertyYearBuilt – rok wybudowania nieruchomości, wartość liczbowa, wartość domyślna: „Brak”,
  • propertyBedrooms – ilość sypialni w nieruchomości, wartość liczbowa, wartość domyślna: „Brak”,
  • propertyToilets – ilość toalet w nieruchomości, wartość liczbowa, wartość domyślna: „Brak”,
  • propertyBalcony – istnienie balkonu, wartość logiczna (0/1), wartość domyślna: 0,
  • propertyBalconyAmount – ilość balkonów, wartość liczbowa, wartość domyślna: 0,
  • propertyGarage – istnienie garażu wartość logiczna (0/1), wartość domyślna: 0,
  • propertyGarageAmount – ilość miejsc w garażu, wartość liczbowa, wartość domyślna: 0,
  • propertyParking – istnienie parkingu, wartość logiczna (0/1), wartość domyślna: 0,
  • propertyParkingAmount – ilość miejsc parkingowych, wartość liczbowa, wartość domyślna: 0,
  • propertyUndergroundParking – istnienie podziemnego parkingu, wartość logiczna (0/1), wartość domyślna: 0,
  • propertyUndergroundParkingAmount – ilość miejsc w podziemnym parkingu, wartość liczbowa, wartość domyślna: 0,
  • propertyGarden – istnienie ogrodu, wartość logiczna (0/1), wartość domyślna: 0,
  • propertyBasement – istnienie piwnicy, wartość logiczna (0/1), wartość domyślna: 0,
  • propertyAttic – istnienie poddasza, wartość logiczna (0/1), wartość domyślna: 0,
  • propertyTerrace -istnienie tarasu, wartość logiczna (0/1), wartość domyślna: 0,
  • propertyLoggia -istnienie loggi, wartość logiczna (0/1), wartość domyślna: 0,
  • propertyEntresol -istnienie antresoli, wartość logiczna (0/1), wartość domyślna: 0,
  • propertyFloor – piętro nieruchomości, wartość liczbowa, wartość domyślna: „Brak”,
  • propertyNeighbourhood – obiekty w pobliżu nieruchomości, wartość domyślna: array(’brak’),
  • propertyCondition – stan nieruchomości, tablica, wartość domyślna: array(’brak’),
  • propertyBuildingMaterials – materiał budynku, tablica, wartość domyślna: array(’brak’),
  • propertyRoofMaterials – dach budynku, tablica, wartość domyślna: array(’brak’),
  • propertyImages – zapisane w postaci JSON obrazy do galerii. Jeśli obrazy są pobierane bezpośrednio do WordPress’a (na serwer), to zapisywane są ID z mediów. Jeśli obrazy nie są pobierane, to w postaci JSON zapisane są linki do obrazów,
  • propertyVideoURL – link do filmu oferty, wartość domyślna: puste,
  • propertyID – ID nieruchomości z systemu Esti CRM,
  • propertyUpdateDate – data ostatniej aktualizacji ofert (z systemu Esti CRM).

Wartość domyślna jest używana tylko wtedy, gdy przesłane dane dla danego pola są puste lub zniszczone.

Przykładowy kod:

				
					<?php
//pobranie wartości custom fields dla posta o danym ID
$meta = get_post_custom($post -> ID);
//wyświetlenie preformatowanej ceny nieruchomści
var_dump($meta['propertyPrice'][0]);
?>
				
			

Dodatkowo, od wersji 0.3 jest możliwość wyświetlenia tych elementów poprzez shortcode:

				
					//wyświetlenie wartości dla bieżacego posta
[estate_property_meta meta_key="klucz_metadanych"]
//wyświetlenie wartości dla wybraneg posta
[estate_property_meta meta_key="klucz_metadanych" post_id="123"]
				
			

Kontekst wartości

O wersji 0.7.1 jest możliwość wyświetlania wartości od razu z kontekstem. Oznacza to, że dana wartość meta może zostać wyświetlona wraz z jej jednostką. Przykładowo, cenę można wyświetlić od razu z walutą.

Lista wartości, które posiadają kontekst:

  • propertyPrice (np.: 3000 zł/€/$),
  • propertyRooms (np.: 4 pokoje),
  • propertyArea (np.: 30 m2),
  • propertyPricePerM (np.: 55 zł/m2),
  • propertyPriceCurrency (np.: €, zł).

Kontekst można wywołać poprzez dodanie argumentu context=true przy wywoływaniu shortcode. Przykład:

				
					//wyświetlenie wartości dla bieżacego posta
[estate_property_meta meta_key="propertyPrice" context=true] // 3000 zł/€/$
[estate_property_meta meta_key="propertyPrice" context=true natural=false] // 3000 pln/euro/usd
[estate_property_meta meta_key="propertyRooms" context=true] // 4 pokoje / 5 pokoi itd.
[estate_property_meta meta_key="propertyArea" context=true]
				
			

Wszystkie filtry

WWEC_PropertiesSlug

Filtr WWEC_PropertiesSlug służy do zmiany bezpośredniego odnośnika do nieruchomości.

Aktualny slug: nieruchomosci
Przykład: strona.pl/nieruchomosci/nieruchomosc-1

Przykładowy kod:
				
					<?php
// zmiana bezspośredniego odnośnika do nieruchomości na 'webist-nieruchomosci'
add_filter('WWEC_PropertiesSlug', 'WWEC_PropertiesSlugCallback', 10, 1);

function WWEC_PropertiesSlugCallback(){
	return "webist-nieruchomosci";
}
?>
				
			

WWEC_PropertiesCategorySlug

Filtr WWEC_PropertiesCategorySlug służy do zmiany bezpośredniego odnośnika do kategorii nieruchomości.

Aktualny slug: kategorie-nieruchomosci
Przykład: strona.pl/kategorie-nieruchomosci/sprzedaz

Przykładowy kod:
				
					<?php
// zmiana bezspośredniego odnośnika do kategorii nieruchomości na 'kategoria-nieruchomosci'
add_filter('WWEC_PropertiesCategorySlug', 'WWEC_PropertiesCategorySlugCallback', 10, 1);

function WWEC_PropertiesCategorySlugCallback(){
	return "kategoria-nieruchomosci";
}
?>
				
			

WWEC_PropertiesTypeSlug

Filtr WWEC_PropertiesTypeSlug służy do zmiany bezpośredniego odnośnika do typu nieruchomości.

Aktualny slug: typy-nieruchomosci
Przykład: strona.pl/typy-nieruchomosci/dom

Przykładowy kod:
				
					<?php
// zmiana bezspośredniego odnośnika do typu nieruchomości na 'typ-nieruchomosci'
add_filter('WWEC_PropertiesTypeSlug', 'WWEC_PropertiesTypeSlugCallback', 10, 1);

function WWEC_PropertiesTypeSlugCallback(){
	return "typ-nieruchomosci";
}
?>
				
			

WWEC_PropertiesLocalizationSlug

Filtr WWEC_PropertiesLocalizationSlug służy do zmiany bezpośredniego odnośnika do lokalizacji nieruchomości.

Aktualny slug: lokalizacje-nieruchomosci
Przykład: strona.pl/lokalizacje-nieruchomosci/dom

Przykładowy kod:
				
					<?php
// zmiana bezspośredniego odnośnika do dzielnicy nieruchomości na 'lokalizacja-nieruchomosci'
add_filter('WWEC_PropertiesLocalizationSlug', 'WWEC_PropertiesLocalizationSlugCallback', 10, 1);

function WWEC_PropertiesLocalizationSlugCallback(){
	return "lokalizacja-nieruchomosci";
}
?>
				
			

WWEC_PropertiesDistrictSlug

Filtr WWEC_PropertiesDistrictSlug służy do zmiany bezpośredniego odnośnika do lokalizacji nieruchomości.

Aktualny slug: dzielnice-nieruchomosci
Przykład: strona.pl/dzielnice-nieruchomosci/centrum

				
					<?php
// zmiana bezspośredniego odnośnika do dzielnicy nieruchomości na 'dzielnica'
add_filter('WWEC_PropertiesDistrictSlug', 'WWEC_PropertiesDistrictSlugCallback', 10, 1);

function WWEC_PropertiesDistrictSlugCallback(){
	return "dzielnica";
}
?>
				
			

WWEC_PropertiesCountrySlug

Filtr WWEC_PropertiesCountrySlug służy do zmiany bezpośredniego odnośnika do lokalizacji nieruchomości.

Aktualny slug: kraje-nieruchomosci
Przykład: strona.pl/kraje-nieruchomosci/centrum

				
					<?php
// zmiana bezspośredniego odnośnika do kraju nieruchomości na 'kraj'
add_filter('WWEC_PropertiesCountrySlug', 'WWEC_PropertiesCountrySlugCallback', 10, 1);

function WWEC_PropertiesCountrySlugCallback(){
	return "kraj";
}
?>
				
			

WWEC_PropertiesAgentSlug

Filtr WWEC_PropertiesAgentSlug służy do zmiany bezpośredniego odnośnika do archiwum agenta nieruchomości.

Aktualny slug: agent-nieruchomosci
Przykład: strona.pl/agent-nieruchomosci/jan-kowalski

Przykładowy kod:
				
					<?php
// zmiana bezspośredniego odnośnika do lokalizacji nieruchomości na 'agent'
add_filter('WWEC_PropertiesAgentSlug', 'WWEC_PropertiesAgentSlugCallback', 10, 1);

function WWEC_PropertiesAgentSlugCallback(){
	return "agent";
}
?>
				
			

WWEC_EstateTitleModifier

Filtr WWEC_EstateTitleModifier służy do modyfikacji tytułu nieruchomości w aktualizatorze ofert. Pozwala to modyfikować to, w jaki sposób tytuły nieruchomości zostaną zapisane.

Przykładowy kod:
				
					<?php
// modyfikacja tytułu nieruchomości poprzez kod
function customWWEC_titleTitleModifierCallback($title){
    // przykład modyfikacji tytułu - dodajemy prefiks
    return '[NazwaAgencji]: '.$title;
}

add_filter('WWEC_EstateTitleModifier', 'customWWEC_titleTitleModifierCallback');
?>
				
			

WWEC_EstateSlugModifier

Filtr WWEC_EstateSlugModifier służy do modyfikacji linku nieruchomości w aktualizatorze ofert. Pozwala to modyfikować to, w jaki sposób link do nieruchomości będzie wyglądał. Należy pamiętać, że link jest generowany na podstawie tytułu, ale filtr tytułu nie wpływa na link. 

Przykładowy kod:
				
					<?php
// modyfikacja slugu/url'a nieruchomości poprzez kod
function customWWEC_estateSlugModifierCallback($title){
    // przykład modyfikacji tytułu - przycinamy slug do maksymalnie 48 znaków
    if (strlen($slug) > $max_length){
        $slug = substr($slug, 0, $max_length);
    }

    return $slug;
}

add_filter('WWEC_EstateSlugModifier', 'customWWEC_estateSlugModifierCallback');
?>
				
			

WWEC_PropertiesShowInRest

Filtr WWEC_PropertiesShowInRest służy do włączenia obsługi REST API dla CPT w WordPress. Dzięki temu istnieje możliwość włączenia do edytora blokowego Gutenberg w CPT 'nieruchomosci’.

Przykładowy kod:
				
					<?php
// włączenie REST API w CPT 'nieruchomosci'
function customWWEC_PropertiesShowInRestCallback($default_value){
    // satndardowo wartośc to false
    return true;
}

add_filter('WWEC_PropertiesShowInRest', 'customWWEC_PropertiesShowInRestCallback');
?>
				
			

Aby włączyć automatyczną aktualizację ofert należy dodać zadanie WP Cron w PHP. Można to zrobić za pomocą wtyczki WP Crontrol. Poniższy fragment kodu pozwala na aktualizację ofert:

				
					<?php
$ch = curl_init();
curl_setopt_array($ch, array(CURLOPT_URL => wp_nonce_url(site_url()."/wp-content/plugins/webist-wp-esticrm/update-offers.php", 'wwec_update_offers'), CURLOPT_RETURNTRANSFER => false));
$output = curl_exec($ch);
?>