Плъгинът разполага с множество филтри за промяна на стойности, които да Ви помагнат за пълното му автоматизиране.
Филтър за галерия – aii_gallery_urls – стойностите, които трябва да върнете са масив, съдържащ URL адресите на снимките за качване към офертата.
Променете my_gallery, с краткото име на мета данните за галерията Ви.
Този пример е ако в мета данните за Вашите имоти се съхраняват номерът на снимката.
function filtered_gallery_values($gallery_values, $post_id) {
// Gallery post meta
$gallery = get_post_meta($post_id, 'my_gallery', true);
if($gallery && is_array($gallery) && !empty($gallery)) {
$new_gallery = array();
foreach ($gallery as $image) {
$image_url_full = wp_get_attachment_image_url($image, 'full');
if ($image_url_full) {
$new_gallery[] = $image_url_full;
}
}
if (!empty($new_gallery)) {
return $new_gallery;
}
}
return $gallery_values;
}
add_filter('aii_gallery_urls', 'filtered_gallery_values', 10, 2);Филтър за „Дата на Акт 16 (само ако предстои)„- imoti_n_feed_date_of_act_filter – трябва да върнете „string“ с възможни стойности:
*YYYY-MM DD : когато имотът няма акт 16 и е известен пусковия срок *false : когато имотът няма акт 16, но не е известен пусковия срок *true, празно или не се подава изобщо : когато имотът ИМА акт 16
*<DateOfActuality>YYYY-MM
DD</DateOfActuality> : когато имотът няма акт 16 и
е известен пусковия срок
*<DateOfActuality>false</DateOfActuality> : когато
имотът няма акт 16, но не е известен пусковия срок
*<DateOfActuality>true</DateOfActuality>, празно
или не се подава изобщо : когато имотът ИМА акт
16
Променете date_of_act, с краткото име на мета данните за Акт 16.
function filtered_date_of_act($date_of_act, $post_id) {
$date_of_act = get_post_meta($post_id, 'date_of_act', true);
return $date_of_act;
}
add_filter('imoti_n_feed_date_of_act_filter', 'filtered_date_of_act', 10, 2);Филтър за ID на брокер – imoti_n_feed_get_agent_id_filter – стойностите, които трябва да върнете са ID на акаунта на брокера във Вашия сайт.
function filtered_imoti_n_agent_id ($property_agent_id, $property_id) {
$post_author = get_post_field( 'post_author', $property_id );
return $post_author;
}
add_filter('imoti_n_feed_get_agent_id_filter ', 'filtered_imoti_n_agent_id', 10, 2);Филтър за брокер – imoti_n_feed_agent_filter – стойностите, които трябва да върнете са масив, който съдържа индекс id и name.
В случай, че не искате да подавате само ID на акаунта на брокера във Вашия сайт и то да бъде намирано от раздел „Брокери„, където ги въвеждате, можете да използвате директно този филтър да подавате информацията.
function filtered_imoti_n_agent ($agent, $property_id) {
$post_author = get_post_field( 'post_author', $property_id );
if ($post_author == 2) {
// Иван Иванов
$agent['id'] = 343288;
$agent['name'] = 'Иван Иванов';
} else if ($post_author == 4) {
// Георги Георгиев
$agent['id'] = 343290;
$agent['name'] = 'Георги Георгиев';
} else if ($post_author == 3) {
// Петър Петров
$agent['id'] = 343291;
$agent['name'] = 'Петър Петров';
}
return $property_agent_id;
}
add_filter('imoti_n_feed_agent_filter', 'filtered_imoti_n_agent', 10, 2);С този вариант трябва да добавяте всеки път ID номера на брокера, когато имате нов човек в екипа.
Филтър за брокерски комисион – imoti_n_broker_com_filter – стойностите, които трябва да върнете са 0 (Без комисион за купувача) или 1 (комисион) – по подразбиране, ако не е подадена стойност.
function filtered_broker_com_values ($broker_com_values, $property_id) {
// Тук трябва да добавите логиката, с която отбелязвате дали офертата е с или без комисион за купувача.
$broker_com = get_post_meta( $property_id, 'no_commission', true );
if ($broker_com && $broker_com == 'on') {
return 0;
} else {
return 1;
}
}
add_filter('imoti_n_broker_com_filter', 'filtered_broker_com_values', 10, 2);Филтър за работа с други агенции – imoti_n_allow_agencies_filter – стойностите, които трябва да върнете са 0 (Не) или 1 (Да).
function filtered_allow_agencies_values($property_allow_agencies, $property_id) {
// Тук трябва да добавите логиката, с която отбелязвате дали работите офертата с други агенции.
$allow_agencies= get_post_meta( $property_id, 'allow_agencies', true );
if($allow_agencies && $allow_agencies == 'yes') {
return 1;
} else {
return 0;
}
}
add_filter('imoti_n_allow_agencies_filter', 'filtered_allow_agencies_values', 10, 2);Филтър за ексклузивен договор за имота – imoti_n_feed_exclusive_filter – стойностите, които трябва да върнете са 0 (без ексклузивен договор) или 1 (с ексклузивен договор).
function filtered_exclusive_values ($property_exclusive, $property_id) {
// Тук трябва да добавите логиката, с която отбелязвате дали офертата е с или без ексклузивен договор.
$contract_type = get_post_meta( $property_id, 'contract_type', true );
if($contract_type && $contract_type == 'yes') {
return 1;
} else {
return 0;
}
}
add_filter('imoti_n_feed_exclusive_filter', 'filtered_exclusive_values', 10, 2);Филтър за екстри на имота – imoti_n_feed_extras_filter – стойностите, които трябва да върнете са масив от изброен номер на екстрата, според номенклатура на Имоти Нет.
Филтри за свързаните полета „Тип оферти“, „Тип имот“ и „Строителство“: imoti_n_mapped_tax_offer_type_filter, imoti_n_mapped_tax_estate_type_filter, imoti_n_mapped_tax_build_type_filter.
Всеки филтър има 2 параметъра – масив и номер на публикация в WordPress (post ID).
Трябва да върнете масив с 2 индекса – ‘title‘ и ‘description’, които да отговарят на номенклатурата на Имоти Нет. За да я получите можете да се свържете с техен търговски представител.
Филтри за всички персонализирани полета, като те са:
imoti_n_address_filter – върнете стойноста на адреса на сградата (string). Това поле се използва само при Сгради.
imoti_n_mapped_field_floor_filter – върнете стойноста на етажа (string или int).
imoti_n_mapped_field_floor_all_filter – върнете стойноста на общо етажи (string или int).
imoti_n_mapped_field_price_filter – върнете стойноста на цената (int).
imoti_n_mapped_field_price_per_sq_m_filter – върнете стойноста на цената на квадратен метър (int). Използва се само, когато цената не е посочена, а само площ и цена на квадратен метър.
imoti_n_feed_imoti_n_surface_all_filter – върнете стойноста на площта или квадратурата.
imoti_n_mapped_field_surface_parcel_filter – върнете стойноста на площта на парцела или двора.
imoti_n_mapped_field_description_filter – върнете описанието на имота.
imoti_n_mapped_field_description_en_filter – върнете описанието на имота на английски, ако имате такова.
imoti_n_mapped_field_video_filter – върнете линк към видео на офертата в YouTube.
Има два филтри отговарящи за аргументите на заявката за постове, съответно за публикуване и архивиране.
Филтър за аргументи за публикуване – imoti_n_publish_properties_args – 1 параметър тип масив.
Филтър за аргументи за архивиране– imoti_n_archive_properties_args – 1 параметър тип масив.
Пример за промяна на аргументи за заявка за архивиране, което променя статуса на поста от „trash“ към персонализирано създадена „archive“.
function filtered_imoti_n_archived_prop_args($args) {
// промяна на стойността по подразбиране за статус на поста от "trash" на "archive"
$args['post_status'] = 'archive';
return $args;
}
add_filter('imoti_n_archive_properties_args', 'filtered_imoti_n_archived_prop_args', 10, 1);
