Вопрос или проблема
Я пытаюсь преобразовать свои сайты под Гутенберг. Мне это нравится!!
Но как я могу сделать так, чтобы можно было использовать описания категорий с новым редактором?
На данный момент это невозможно, Гутенберг — это редактор постов, который полагается на REST API, это не редактор произвольного контентного пространства, как TinyMCE.
С некоторыми модификациями, однако, его можно заставить работать с пользовательской моделью данных и быть заменой, но это не тривиальная задача, и то, что необходимо, в состоянии изменений. Лучше всего задать вопрос на трекере проблем Гутенберга на GitHub.
Правка: 2024
Вы можете попробовать вставить экземпляр блоков редактора на эту страницу с помощью JavaScript и следуя этим инструкциям на .org, но это требует некоторых знаний React:
https://developer.wordpress.org/block-editor/how-to-guides/platform/custom-block-editor/
Возможно, будет проще использовать изолированный пакет редактора блоков от Automattic по адресу https://github.com/Automattic/isolated-block-editor.
Тем не менее, учитывайте, что описание используется во многих местах, и вы можете неожиданно увидеть сырой HTML-код блоков, например, в заголовках или картах сайта. Вам также стоит рассмотреть это в контексте редактора сайта.
Мне удалось сделать это более или менее следующим образом:
- Создав контент и формат, которые мне нужны, в редакторе Гутенберг в посте
- Переключившись с визуального редактора на редактор кода
- Скопировав код в “Текст введения архива” категории, используя текстовый — не визуальный — редактор
Однако обновление до WP 5.7 с 5.6.2 испортило форматирование.
Как вы можете видеть, я некомпетентен в написании кода и создал для себя красивый тупик с моим обходным решением, но я думал, что эти знания могут быть полезны, и я был бы очень признателен, если эта функция будет включена в будущие релизы.
Вы можете создать пользовательский тип записи и связать его с термином через пользовательское term_meta, где вы храните ID custom_post_type, то есть с помощью плагина ACF, отображайте этот post_content, где вам нужно, с помощью
$_your_meta_value=get_term_meta($term_id, _description, 1);
echo apply_filter('the_content',get_the_content(null,false,$_your_meta_value));
Ответ или решение
Активация редактирования категорий с помощью Gutenberg в WordPress
Gutenberg — новый редактор постов в WordPress, который предоставляет гораздо больше возможностей по сравнению с традиционным редактором TinyMCE. Однако, использование Gutenberg для редактирования описаний категорий не является тривиальной задачей, поскольку встроенная поддержка для этого пока отсутствует. В этом ответе я опишу несколько возможных решений для активации Gutenberg в описаниях категорий.
Способы активации Gutenberg для описаний категорий
-
Создание пользовательского редактора блоков:
Вы можете попробовать интегрировать экземпляр редактора блоков на странице описания категории с помощью JavaScript. Для этого потребуется базовое знание React. Полные инструкции можно найти здесь. Это решение не является простым, и вам потребуется разобраться с настройками и кодом. -
Использование пакета изолированного редактора блоков:
Automattic предоставляет проект isolated-block-editor, который может упростить задачу по добавлению блока редактора на нужную страницу. Это может быть более удобным, чем создание собстветенного редактора с нуля, однако потребует времени на изучение. -
Кастомизация с помощью пользовательского типа постов:
Один из возможных обходных путей заключается в создании пользовательского типа постов и связывании его с категорией с помощьюterm_meta
, куда вы сможете сохранить содержимое, созданное в редакторе Gutenberg. Например, можно использовать плагин ACF (Advanced Custom Fields) для этого. Примерно так:$your_meta_value = get_term_meta($term_id, '_description', 1); echo apply_filters('the_content', get_the_content(null, false, $your_meta_value));
Это позволит хранить содержимое, созданное в Gutenberg, в качестве мета-данных термина, а затем выводить его там, где это необходимо.
Важно учитывать
Имейте в виду, что при использовании описаний категорий с Gutenberg вы можете столкнуться с тем, что разметка блоков будет отображаться некорректно в некоторых местах, например, в заголовках или картах сайта. Поэтому важно тщательно тестировать, как и где будет отображаться ваше содержимое.
Заключение
Пока что разработка полной поддержки Gutenberg для описаний категорий в WordPress находится в процессе, и это может потребовать определённых навыков в программировании. Однако, предложенные решения могут помочь вам обойти текущие ограничения. Рекомендуется следить за обновлениями в GitHub и официальной документации WordPress для дальнейших улучшений функциональности Gutenberg.