Webist - strony WWW, sklepy internetowe, integracje, wtyczki WordPress

Webist

Webist WP Asari CRM - dokumentacja

Spis treści

Aktualna wersja wtyczki: 0.8.2
Poprzednia wersja wtyczki: 0.8.1

Wymagania wtyczki

Wtyczka Webist WP Asari 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,
  • userID i siteToken z Asari 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 Asari CRM

Aktualnie aktualizator ofert działa w następujący sposób. Przy pierwszej aktualizacji ofert (lub jeśli nie istnieją) skrypt pobiera je wszystkie. Następnie, przy każdej aktualizacji skrypt sprawdza, czy data aktualizacji danej oferty jest późniejsza niż zapisana w WordPressie. Jeśli tak jest to zostaje ona zaktualizowana. Jeśli nie to aktualizator pomija tą ofertę.

Ważne jest, aby pamiętać, że skrypt odświeża sam siebie asynchronicznie co 25 ofert. Oznacza to, że jeśli skrypt się „zcrashuje” to i tak oferty są odświeżane w tle. Podstrona Aktualizator wtyczki w panelu wtyczki pozwala monitorować status skryptu oraz, czy jest włączony.

Wtyczka wykorzystuje wbudowane archiwum motywu (wersja podstawowa oraz wersja Pro). 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, Divi lub jakimkolwiek builderze stron posiadającym Theme Builder.

Aby wyświetlić archiwum nieruchomości należy użyć shortcode [properties_archive].

Aby wyświetlić listing nieruchomości należy użyć shortcode [all_properties]. Shortcode ten zwraca listę wszystkich nieruchomości wraz z paginacją (podzieleniem na strony). Style elementu można zmienić nadpisując kod CSS.

Przykładowy kod:

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

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 Asari CRM.

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 obsługiwane typy (8):

  • Dom (slug: dom),
  • Działka (slug: działka),
  • Lokal (slug: lokal),
  • Magazyn (slug: magazyn),
  • Mieszkanie (slug: mieszkanie),
  • Obiekt (slug: obiekt),
  • Pokój (slug: pokój),
  • Powierzchnia (slug: powierzchnia).

Wtyczka automatycznie przypisze nieruchomość do odpowiedniej typu na podstawie danych z Asari CRM.

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 Asari CRM:

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

Taksonomię „Agent” we wtyczce możemy skonfigurować poprzez dodanie wszystkich obsługiwanych agentów do ustawień wtyczki. Można także najpierw pobrać wszystkie oferty (wtedy taksonomia zostanie uzupełniona automatycznie). Wystarczy wtedy tylko uzupełnić pola związane z numerem telefonu, adresem e-mail oraz zdjęciem agenta.

Na początku, w kokpicie, przechodzimy do „Nieruchomości” -> „Agent”. Następnie dodajemy agenta lub edytujemy istniejącego (podobnie jak w przypadku Lokalizacji). Teraz możemy dodać informacje na temat agenta nieruchomości.

Wtyczka automatycznie przypisuje nieruchomość do danego agenta na podstawie danych z Asari CRM.

Dodatkowo, do wtyczki jest dołączony shortcode. Umożliwia on wyświetlenie informacji informacji o agencie przypisanym do danej nieruchomości.

				
					<?php
//wywołanie shortcode w PHP
echo do_shortcode("[property_agent_meta meta_key='nazwa_wartosci']");
//poniżej wywołanie bez PHP
?>
[property_agent_meta meta_key='nazwa_wartosci']
				
			

Dostępne klucze dla argumentu meta_key to:

  • WWAC_AgentName – imię agenta,
  • WWAC_AgentSurname – nazwisko agenta,
  • WWAC_AgentFullname – imię i nazwisko agenta,
  • WWAC_AgentEmail – adres e-mail agenta,
  • WWAC_AgentFirstPhoneNumber – pierwszy numer telefonu agenta,
  • WWAC_AgentSecondPhoneNumber – drugi numer telefonu agenta,
  • WWAC_AgentLicenseNumber – numer licencji agenta,
  • WWAC_AgentImageID – numer ID (z WP Media) zdjęcia agenta.

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 wpisu oraz zmienić przybliżenie. Aby mapa została dodana należy zmienić ustawienia wtyczki (od wersji 0.7). Uwaga! Jeśli posiadałeś wtyczkę przed wersją 0.7 to do poprawnego działania mapy należy usunąć wszystkie oferty i zaktualizować je na nowo:

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

				
					//wyświetlenie mapy dla bieżacego posta (pojedynczego)
[property_map]
//wyświetlenie wartości dla wybraneg posta (po ID)
[property_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.

W starszych wersjach wtyczki galeria była dołączana jako kod HTML, prosto do wpisu. Aktualnie jest to rozwiązane za pomocą shortcode. Aby wyświetlić galerię danej nieruchomości należy użyć poniższego kodu:

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

W ustawieniach wtyczki możesz także ustawić (bez aktualizacji ofert), czy galeria ma się wyświetlać w poście, czy nie. Ważne jest, aby pamiętać, że ustawienie to nie wpływa na działanie samego shortcodu.

Istnieje także możliwość pobrania informacji na temat zdjęć z galerii danego posta W zależności od wybranych ustawień pobierania zdjęć, może być to tablica ID zdjęć z mediów, lub tablica linków do zdjęć.

				
					// pobranie informacji na temat zdjęć z posta o ID 123
$postImages = get_post_meta('123', 'propertyImages', true);
				
			

We wtyczce można ustawić, czy zdjęcia mają być pobierane bezpośrednio na serwer, czy nie. Można to zmienić w opcjach wtyczki:

Zdjęcia zapisują się w folderze /uploads/webist-wp-asaricrm lub /uploads/webist-wp-asaricrm-pro. Jest to zależne od wersji wtyczki. Jeśli wersja wtyczki zostanie zmieniona (np.: z podstawowej na wersję Pro; nie chodzi o liczbowe wartości) to wtyczka automatycznie wykryje katalog oraz go użyje. Jest to po to, aby dotychczasowe ofert nadal posiadały swoje przypisane obrazy.

Warto też pamiętać o tym, że proces pobierania obrazów wymaga większej ilości zasobów (RAM, łącze itd.) przez co niektóre obrazy lub nawet nieruchomości zostać niepobrane. W takim przypadku dobrze jest zwiększyć:

  • dostępną ilość pamięci na serwerze/stronie WWW,
  • zwiększyć WP_MEMORY_LIMIT,
  • sprawdzić, czy któraś wtyczka lub motyw nie wpływają na aktualizację ofert.

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

  • asariOfferID – ID oferty z systemu Asari CRM, wartość domyślna: „Brak”,
  • mortgageMarket – typ/rodzaj rynku, wartość domyślna: „empty”,
  • propertyFloor – piętro nieruchomości, wartość domyślna: „Brak”,
  • propertyParkingSpacesNo – ilość miejsc parkingowych, wartość domyślna: „Brak”,
  • propertyOfferManager – imię i/lub nazwisko opiekuna oferty, 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”,
  • propertyRooms – ilość pokoi, tylko wartość liczbowa, wartość domyślna: „Brak”,
  • propertyLocalization – lokalizacja nieruchomości, wartość tekstowa, wartość domyślna: „Brak”,
  • propertyRooms – ilość pokoji 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”,
  • propertyMaterial – materiał budowy (np. cegła), wartość tekstowa, wartość domyślna: „Brak”,
  • propertyEnergyCertificateState – status certyfikatu energetycznego, wartość liczbowa (1 – tak, 2 – nie, 3 – nie wymagany), wartość domyślna: 2,
  • propertyKitchenEquipment – wyposażenie kuchni, wartość JSON, domyślnie przechowuje wartość „Brak”,
  • propertyHeating – ogrzewanie, wartość JSON, domyślnie przechowuje wartość „Brak”,
  • propertyImages – obrazy nieruchomości; tablica danych; zwraca w zależności od ustawień wtyczki tablicę ID z mediów lub tablicę linków do obrazów.

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]);
?>
				
			

Od wersji 0.6 wtyczki istnieje shortcode umożliwiający wyświetlenie wartości meta pojedynczej nieruchomości:

				
					<?php
//wywołanie shortcode w PHP
echo do_shortcode("[property_meta meta_key='nazwa_wartosci']");
//wywołanie shortcode w PHP z ID posta
echo do_shortcode("[property_meta meta_key='nazwa_wartosci' post_id=123]");
//poniżej wywołanie bez PHP
?>
[property_meta meta_key='nazwa_wartosci']
				
			

Wartości JSON

Domyślnie pola propertyKitchenEquipment oraz propertyHeating przechowują wartości w postaci JSON. Shortcode zwróci te wartości po przecinku (np. „Meble, Okap, Lodówka” dla wyposażenia kuchni). Za pomocą PHP można pobrać te wartości za pomocą get_post_custom() (tak jak w przykładzie wyżej). Wiąże się to z obróbką danych przez motyw. Kolejną metodą jest użycie jednej z dodanych funkcji PHP:

				
					<?php
/*
W obu przypadkach funkcje przyjmują te same argumenty.

$format - string, pozwala wybrać format zwracanych danych (text/json/array; domyślnie: text)
$postID - int, ID posta w bazie WordPress (domyslnie: ID bieżącego posta)
*/
$kitchenEquipment = WWAC_getListingKitchenEquipment($format, $postID);

$heating = WWAC_getListingHeating($format, $postID);
				
			

Wszystkie filtry

WWAC_PropertiesSlug

Filtr WWAC_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('WWAC_PropertiesSlug', 'WWAC_PropertiesSlugCallback', 10, 1);

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

WWAC_PropertiesCategorySlug

Filtr WWAC_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('WWAC_PropertiesCategorySlug', 'WWAC_PropertiesCategorySlugCallback', 10, 1);

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

WWAC_PropertiesTypeSlug

Filtr WWAC_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('WWAC_PropertiesTypeSlug', 'WWAC_PropertiesTypeSlugCallback', 10, 1);

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

WWAC_PropertiesLocalizationSlug

Filtr WWAC_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 lokalizacji nieruchomości na 'lokalizacja-nieruchomosci'
add_filter('WWAC_PropertiesLocalizationSlug', 'WWAC_PropertiesLocalizationSlugCallback', 10, 1);

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

WWAC_PropertiesAgentSlug

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

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

				
					<?php
//zmiana bezspośredniego odnośnika do archiwum agenta nieruchomości na 'agent'
add_filter('WWAC_PropertiesAgentSlug', 'WWAC_PropertiesAgentSlugCallback', 10, 1);

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