Огромный сборник статей от WPTec для начинающих

Руководства

WordPress Multisite Sync и Elementor. Как подружить?

Работая с плагином WordPress Multisite Sync столкнулся с проблемой. При синхронизации страниц данные от Elementor переносятся некорректно.
Весь контент идёт в одну колонку без рядов.
Изучив изменения в базе данных понял, что в post_meta данных для elementor не попадают слеши ‘/’. Исчезают при синхронизации.
Поковырявшись в файлах плагина нашел решение.
Находим и открываем для редактирования файл – /wp-content/plugins/wordpress-multisite-sync/admin/class-wordpress-multisite-sync-admin.php

Ищем строку:

$updatePostMeta = update_post_meta($newPostId, $sourcePostMeta->meta_key, $value);

и перед ней вставляем:

if (is_string($value)) {
$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() – Позволяет сохранить экранирование внутри сложных данных.

Рекомендуем прочитать
НачинающимРуководства

Как правильно перенести WordPress с HTTP на HTTPS

Руководства

Как исправить ошибку «Отсутствует временная папка» в WordPress

НачинающимРуководства

Как удалить свой сайт или блог на WordPress

НачинающимРуководства

Как безопасно обновлять WordPress

Подпишитесь на рассылку
и будьте в курсе новостей Wordpress

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *