- Статус
- Решено автором
- Связанный плагин/тема
- Houzez
- Теги темы
- Compatibility
Обзор проблемы
При использовании темы оформления Houzez Вы можете столкнуться со следующей проблемой: переведенные объекты недвижимости не сохраняют привязку к агенту, в результате чего в переведенных профилях агентов отображается ноль объектов. Это происходит потому, что поле агента (fave_agents) некорректно связывается с переведенной записью агента.
Обходное решение
Пожалуйста, перед продолжением убедитесь, что у Вас есть полная резервная копия Вашего сайта.
1. Настройте параметры перевода
- Перейдите в раздел «WPML > Настройки > Перевод пользовательских полей»
- Установите для произвольного поля
fave_agentsпараметр перевода Копировать
2. Скорректируйте обработку ID агента в функциях темы оформления
- Откройте файл …/wp-content/themes/houzez/framework/functions/property_functions.php.
- Найдите строку 3663 (функция
houzez_get_property_agent). - Замените:
$agent_id = intval( $agent );
- На:
$agent_id = intval( $agent ); // WPML Workaround for compsupp-7949 $agent_id = apply_filters( 'wpml_object_id', $agent_id, 'houzez_agent', TRUE );
- Найдите строку 3738 (функция
houzez20_get_property_agent). - Замените:
$agent_id = intval( $agent_id ); - На:
$agent_id = intval( $agent_id ); // WPML Workaround for compsupp-7949 $agent_id = apply_filters( 'wpml_object_id', $agent_id, 'houzez_agent', TRUE );
3. Убедитесь, что в профиле агента отображаются правильные объекты недвижимости
- Откройте файл …/wp-content/themes/houzez/framework/classes/Houzez_Query.php.
- Найдите строку 718 (функция
loop_agent_properties). - Замените:
$agent_id = get_the_ID(); - На:
$agent_id = get_the_ID(); // WPML Workaround for compsupp-7949 $default_lang = apply_filters('wpml_default_language', NULL ); $agent_id = apply_filters( 'wpml_object_id', $agent_id, 'houzez_agent', TRUE, $default_lang );