Задать вопрос
@Smirator

Почему шорткод в поле acf превращается в тег?

Приветствую всех!
На сайте есть поле ACF, в которое я добавлю текст и изображение. Изображение выводится шорткодом: [image id="1"].
После сохранения страницы шорткод "превращается" в тег.

То-есть, я занес: [image id="1"], страница обновилась и в поле, куда занес отображается:
<img class="img-fluid" loading="lazy" src ="https://test.ru/wp-content/uploads/2023/03/summer-service.jpeg" srcset="https://test.ru/wp-content/uploads/2023/03/summer-service.jpeg 719w, https://test.ru/wp-content/uploads/2023/03/summer-service-216x300.jpeg 216w" sizes="(max-width: 719px) 100vw, 719px" alt="Сотрудник "/>


Отсечены самые банальные вещи:
1. Поле точно сохраняется, если добавить любой текст рядом, то после сохранения он остается.
2. Вывод поля через pre возвращает текст и уже готовое изображение.
3. Поле ACF - текстовая область (не редактор).

Я хочу, чтобы в поле оставался шорткод, не становясь тегом.
Что пробовал:
if (!empty($more_advantages)):
	echo do_shortcode($more_advantages); // Преобразует шорткод в HTML
endif;


add_filter( 'acf/shortcode/allow_unsafe_html', '__return_true' );
add_filter( 'acf/the_field/allow_unsafe_html', '__return_true' );


и такое тоже:
add_filter('acf/update_value/name=your_field_name', 'save_shortcode_as_text', 10, 3);

function save_shortcode_as_text($value, $post_id, $field) {
    return esc_textarea($value); // экранирует значение чтобы сохранить текстом, без выполнения
}
  • Вопрос задан
  • 20 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы