Этот плагин не тестировался с последними 3 основными выпусками WordPress. Скорее всего, он уже не поддерживается и может быть несовместим с текущими версиями WordPress.

ReCRM

Описание

Плагин выгружает информацию об объектах/агентах из ReCRM используя API http://api.recrm.ru/doc/index.html

Позволяет настроить категории недвижимости для импорта объектов в зависимости от их типа.

Сохраняет изображения агентов и объектов на сервере сайта.

Скриншоты

  • Настройки плагина
  • Настройка категория
  • Настройка свойств
  • Информация объекта недвижимости
  • Информация агента

Установка

  1. Установите плагин
  2. Перейдите в раздел с настройками плагина, заполните поля согласно их назначению.
    2.1. Ключ — необходимо запросить у поддержки ReCRM
    2.2. Cron — если эта опция не отмечена, импорт по крону запускаться не будет
    2.3. Водяной знак — накладывать watermark указанный в настройках ReCRM
    2.4. Скрытые объекты — выгружать объекты, у которых свойство hidden = true
    2.5. Активный статус — выгружать объекты, у которых свойство status = 0
    2.6. Успешный статус — выгружать объекты, у которых свойство status = 1
    2.7. Неудачный статус — выгружать объекты, у которых свойство status = 3
  3. Настройте ЧПУ для агентов и объектов недвижимости.
    3.1. Агенты с категориями — если необходимо, можно добавить таксономию для агентов
    3.2. Префикс страницы агентов — адрес с агентами относительно корня сайта, например /agents/
    3.3. Недвижимость с категориями — если необходимо, можно добавить таксономию для недвижимости. При отмеченной опции плагин позволяет автоматически определить нужные вам типа недвижимости в категориях.
    3.3. Префикс страницы недвижимости — адрес с объектами относительно корня сайта, например /estate/
  4. Если необходимо разместить разные типы недвижимости в разных категориях, создайте категории, перейдите в раздел с настройками плагина «Типы недвижимости и категории». Определите, какие типы недвижимости нужно отображать в созданных категориях.
  5. Нужно добавить define( ‘DISABLE_WP_CRON’, true ); в файл wp-config.php, так как процесс выгрузки потребляет много ресурсов
  6. Нужно добавить cron задачу для запуска wp-cron.php

* * * * * php /path/to/wp-cron.php > /dev/null
7. В связи с присутствием большого количества фотографий, скрипт сначала загрузит всю информацию во временные файлы. После того как файлы созданы, при каждом запуске cron задачи, скрипт поэтапно (по 30 объектов) начнет запись объектов в базу данных вместе с фотографиями.
Переопределить количество импортируемых объектов за раз можно при помощи константы (int) RECRM_CHUNK_TEMP_FILES

Часто задаваемые вопросы

Как получить API ключ

Обратиться в службу поддержки https://recrm.ru/

Как получить демо данные

Указать ключ demo

Какие хуки/фильтры присутствуют в плагине

  1. recrm_import_convert_phone — конвертирует номер телефона агента [^0-9+]

    <?php
    add_filter('recrm_import_convert_phone', function($phone, $phone_initial) {
    //return $phone;
    }, 10, 2);

  2. recrm_store_tax_id — определяет таксономию для объекта недвижимости в зависимости от его свойства type_id

    <?php
    add_filter('recrm_store_tax_id', function($tax_id, $item) {
    //return $tax_id;
    }, 10, 2);

  3. recrm_import_finish — срабатывает каждый раз после завершения крон задачи

Что происходит с удаленными объектами в ReCRM

Объект/Агент будет помещен в корзину.

У меня не работает ЧПУ/адрес с объектом/агентом

Перейдите в «Настройки» — «Постоянные ссылки» — нажмите кнопку «Сохранить изменения»

Как сохраняются фотографии

Для агентов и объектов будут добавлены свойства, которые содержат информацию о загруженных медиафайлах.

recrm_gallery_agent и recrm_gallery_estate содержат массив из всех медиафайлов, которые были загружены для объекта/агента

Получить отдельно каждый тип медиафайла можно по свойствам:
* recrm_agent_thumbnail — миниатюра (фотография) агента
* recrm_estate_thumbnail — миниатюра (обложка) объекта
* recrm_estate_gallery_photos — фотографии объекта
* recrm_estate_gallery_layouts — планировки объекта
* recrm_estate_gallery_building — планировки здания объекта

В каждом свойстве сериализованный массив, в котором ключ это ID файла из базы данных, значение это внешний URL фотографии из ReCRM

Как сохранить площадь без текста (м2)

Нужно добавить функцию к хуку save_post для перезаписи или добавлении нового значения. Пример:
function custon_save_post_recrm_estate($post_id, $post, $update)
{
$area = get_post_meta($post_id, 'recrm_estate_area', true);
$expl = explode(' ', $area);
update_post_meta($post_id, 'recrm_estate_area_num', $expl[0]);
}
add_action('save_post_recrm_estate', 'custon_save_post_recrm_estate', 10, 3);

Как переопределить категорию в зависимости от типа сделки

Нужно добавить фильтр recrm_store_tax_id. Пример:
add_filter('recrm_store_tax_id', function($tax_id, $item) {
if($item['recrm_estate_deal'] == 'аренда')
{
$tax_id = 16;
}
elseif($item['recrm_estate_deal'] == 'продажа')
{
$tax_id = 17;
}
return $tax_id;
}, 10, 2);

Отзывы

Посмотреть 1 отзыв

Участники и разработчики

«ReCRM» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:

Участники

«ReCRM» переведён на 1 язык. Благодарим переводчиков за их работу.

Перевести «ReCRM» на ваш язык.

Заинтересованы в разработке?

Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.

Журнал изменений

1.1.4

  • Исправлена ошибка учета выгрузки скрытых объектов

1.1.3

  • Исправлена ошибка удаления объектов

1.1.2

  • Исправлена ошибка в скрипте для админ панели

= 1.1.1=
* Проверка отсутствующего изображения в ответе от API
* Исправлено отображение свойств объекта и агента в админ. панели

= 1.1.0=
* cron.php удален
* Задача для cron импорта перенесена в wp-cron

= 1.0.0=
* Релиз плагина