+359 896 72 02 81
  1. Начало
  2. Real Estates Portal Impor...
  3. За разработчици
  4. Филтри за Имоти Нет

Филтри за Имоти Нет

Плъгинът разполага с множество филтри за промяна на стойности, които да Ви помагнат за пълното му автоматизиране.


Филтър за галерия – 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);

How can we help?