
Работая с плагином WordPress Multisite Sync столкнулся с проблемой. При синхронизации страниц данные от Elementor переносятся некорректно.
Весь контент идёт в одну колонку без рядов.
Изучив изменения в базе данных понял, что в post_meta данных для elementor не попадают слеши ‘/’. Исчезают при синхронизации.
Поковырявшись в файлах плагина нашел решение.
Находим и открываем для редактирования файл – /wp-content/plugins/wordpress-multisite-sync/admin/class-wordpress-multisite-sync-admin.php
Ищем строку:
и перед ней вставляем:
$value = wp_slash($value);
} elseif (is_array($value) || is_object($value)) {
array_walk_recursive($value, function (&$item) {
if (is_string($item)) {
$item = wp_slash($item);
}
});
}
wp_slash($value);
перед update_post_meta()
– гарантирует, что слэши (\) не пропадут при сохранении.
array_walk_recursive()
– Позволяет сохранить экранирование внутри сложных данных.