Как сделать так чтобы WordPress не изменял html код автоматически в стандартном редакторе?

В стандартном текстовом редакторе WordPress, который называется Gutenberg, есть функция автоматической обработки HTML-кода. Это может привести к случайным изменениям в вашем HTML, что нежелательно, особенно если вы работаете над сложным макетом или внедряете сторонний код.

Чтобы предотвратить автоматические изменения, вам необходимо использовать фильтры, доступные в WordPress API. Вот несколько методов для того, чтобы заставить WordPress сохранять ваш HTML-код без изменений:

1. **Использование фильтра content_save_pre**: Вы можете использовать этот фильтр, чтобы предотвратить обработку содержимого перед его сохранением в базу данных. Пример:

add_filter('content_save_pre', 'my_custom_content_filter');

function my_custom_content_filter($content) {
    remove_filter('content_save_pre', 'wp_filter_post_kses'); // Отключаем стандартный фильтр
    return $content;
}

2. **Использование фильтра content_edit_pre**: Этот фильтр аналогичен предыдущему, но применяется при редактировании содержимого. Пример:

add_filter('content_edit_pre', 'my_custom_content_filter');

function my_custom_content_filter($content) {
    remove_filter('content_save_pre', 'wp_filter_post_kses');
    return $content;
}

3. **Использование фильтра 'tiny_mce_before_init'**: Если вы хотите сохранить HTML-код в редакторе TinyMCE без изменений, вы можете использовать этот фильтр. Пример:

add_filter('tiny_mce_before_init', 'my_custom_tinymce_filter');

function my_custom_tinymce_filter($in) {
    $in['valid_elements'] = '*[*]'; // Разрешить все HTML-теги и их атрибуты
    return $in;
}

Пожалуйста, помните о том, что отключение автоматической обработки HTML-кода может повлечь за собой уязвимости безопасности и проблемы с безопасностью веб-страниц. Всегда убедитесь, что ваш HTML-код безопасен и не содержит уязвимостей, прежде чем отключать авто-фильтрацию в WordPress.