Intereting Posts
открыть все .docs в слове онлайн post_type игнорируется WP_Query, когда включен аргумент «tag» Как отключить виджет на некоторых страницах? Автоматическое обновление одного плагина Почему номер телефона является гиперссылкой на настольных сайтах, в моем виджете? Добавлено новое массовое действие, но работает только в раскрывающемся меню внизу Импорт вложений – не прикрепляется к post_parent Показать информацию о продукте с правой стороны В какой части ядра WordPress таблицы пользователей и usermeta объединяются? Как отфильтровать описание метакатализатора excerpt в admin? Фильтрация детей из категории «без рубрики» из цикла? Почему я получаю эту ошибку? Ошибка базы данных WordPress: Исключить идентификатор сообщения из массива, заданного в пользовательском поле Где коды тем для WordPress? Создание короткого кода для использования в визуальном редакторе

Хранить немодифицированный текстовый контент в базе данных

Я хотел бы написать свои сообщения (и другие пользователи своими комментариями) в виде обычного текста и позволить движку Markdown работать на нем позже. Однако редактор, кажется, преобразует текст и заменяет некоторые символы при сохранении и т. Д.

Есть ли способ сохранить и получить простой текст из ввода пользователей в базе данных и вернуть его для дальнейшего редактирования вручную?

Я уже отключил визуальный редактор. Может быть, WP получил некоторые крючки, работающие на этом, что я должен отключить?

Я использую это в functions.php прямо сейчас:

/* * * [Markdown] * * */ $bada_md_path = get_template_directory() . '/ext/Markdown/Michelf/'; require_once( $bada_md_path . 'MarkdownExtra.inc.php' ); use Michelf\MarkdownExtra; function bada_md_content( $content ) { $content = Michelf\MarkdownExtra::defaultTransform( $content ); return '###</br>' . $content . '</br>###'; } add_filter( 'comment_text' , 'bada_md_content' ); add_filter( 'the_content' , 'bada_md_content' ); 

Вы можете обратиться к этому:

 function my_formatter($content) { $new_content = ''; $pattern_full = '{(\[raw\].*?\[/raw\])}is'; $pattern_contents = '{\[raw\](.*?)\[/raw\]}is'; $pieces = preg_split($pattern_full, $content, -1, PREG_SPLIT_DELIM_CAPTURE); foreach ($pieces as $piece) { if (preg_match($pattern_contents, $piece, $matches)) { $new_content .= $matches[1]; } else { $new_content .= wptexturize(wpautop($piece)); } } return $new_content; } remove_filter('the_content', 'wpautop'); remove_filter('the_content', 'wptexturize'); add_filter('the_content', 'my_formatter', 99); 

В основном, что это изменяет существующий [raw] shortcode и, обертывая ваш контент внутри этого короткого кода, WordPress должен прекратить возиться с вашим кодом 🙂

Надеюсь это поможет.