Как ACF запретить оборачивать текст в span?

Ссылка скопирована
PHP
1 ответ

Друзья, подскажите, столкнулся с такой проблемой, стоит группа полей, я через их редактор добавляю текст, и он делает таким образом -> я выкладываю текст , а он мне делает так -> .
Так везде и с li & h2, со всем, так ещё и свои стили суёт, как это отключить?!

Дополнительно:

Не самое понятное объяснение)

он делает таким образом -> я выкладываю текст , а он мне делает так -> .

Пришлите код вывода полей из шаблона

  • Владимир, прошу прощения... не заметил. Вот на скрине, я просто "p" задал, а он мне добавил и span & style, даже не знаю что это, но как понял это из acf, но как выключить

    Как ACF запретить оборачивать текст в span?

  • starkingdom, попробуйте, для начала, вставлять текст в поля без форматирования - ctrl+shift+v
    Если не выйдет, то нужно смотреть вывод полей в файлах темы с расширением .php
  • Ответы:

    пропиши в function.php

    remove_filter('the_content', 'wpautop'); remove_filter('the_content', 'wptexturize'); remove_filter('the_content', 'wp_kses'); remove_filter('the_content', 'prepend_attachment');

    remove_filter('the_content', 'wpautop'); remove_filter('the_content', 'wptexturize'); remove_filter('the_content', 'wp_kses'); remove_filter('the_content', 'prepend_attachment');

    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Игорь Волков Ответ

    ACF сам по себе обычно не “оборачивает всё в span style”. Чаще всего такие span появляются из-за визуального редактора, когда текст вставляют из Word/Google Docs/страницы браузера вместе с форматированием. ACF WYSIWYG хранит HTML, который ему передали, и потом Вы видите эти inline-стили на фронте.

    Первое решение — вставлять текст без форматирования: Ctrl+Shift+V. Второе — очистить существующий HTML в редакторе, переключившись в режим “Текст/Код” и удалив лишние span style.

    Если нужно чистить вывод программно, можно применить wp_kses_post() или более строгую очистку. Например:

    $content = get_field('my_wysiwyg');
    echo wp_kses_post($content);

    $content = get_field('my_wysiwyg'); echo wp_kses_post($content);

    Но wp_kses_post() не удалит все inline style, если они разрешены фильтрами. Для удаления style-атрибутов можно сделать обработку через DOMDocument или регулярку, но регуляркой HTML чистить надо аккуратно.

    Не отключайте глобально wpautop и wptexturize без понимания последствий. Это повлияет на весь контент сайта. Если проблема только в одном ACF-поле, чистите конкретное поле при сохранении или при выводе.

    Правильный путь: настроить редакторов вставлять чистый текст, ограничить панель WYSIWYG, использовать формат “Basic” в ACF или заменить WYSIWYG на textarea, если форматирование не нужно. Тогда лишние span перестанут появляться.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

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

    Вам также может быть интересно