Как использовать TinyMCE для "биографической информации пользователя"?


Я хотел бы предоставить нашим пользователям WP (авторам) редактор TinyMCE вместо стандартного textarea для их "Биографической информации" на странице профиля .

Я потратил много времени на поиск в Интернете плагинов и ссылок на то, как это сделать без удовлетворительного решения.

Буду признателен за любые советы.

Author: tfrommen, 2010-12-07

4 answers

Я нашел очень полезный пост в блоге который точно показывает, как выполнить то, что мне нужно, всего с тремя небольшими изменениями на странице user-edit.php.

Первое изменение

Мне пришлось добавить имя класса в тег <textarea> для описания.

<textarea name="description" id="description" rows="5" cols="30"
  class="CLASS_NAME_HERE"><?php echo esc_html($profileuser->description); ?>
</textarea><br />

Второе изменение

Мне пришлось добавить вызов функции в wp_tiny_mce() вот так.

<?php wp_tiny_mce( false, array( "editor_selector" => "CLASS_NAME_HERE" )); ?>

Обратите внимание, что первый аргумент wp_tiny_mce (если true) будет отображать действительно урезанную версию редактора (например вы бы увидели на Быстром посте).

Третье изменение

По умолчанию Wordpress удаляет определенные теги (определенные в $allowedtags) из поля описания пользователя. Итак, я нашел плагин, который в основном снимает ограничения html. Плагин называется Html-биография Ласки.

 4
Author: jessegavin, 2010-12-08 15:35:55

Приведенный выше ответ работает, однако он ломается каждый раз, когда WordPress обновляется, не переносится и изменяет основные файлы WordPress (огромное "нет").

Это может быть сделано полностью с помощью крючков и фильтров в functions.php или в теме, или в плагине. Смотрите здесь:

Https://wordpress.stackexchange.com/a/33575/736

 3
Author: Tom J Nowell, 2017-04-13 12:37:46

Как упоминал Том выше, вероятно, лучше не редактировать основные файлы WordPress, они будут удалены при обновлении до последней версии.

Я написал плагин, который заменяет поле профиля биографической информации визуальным редактором WordPress, TinyMCE, позволяя вам редактировать биографию автора с помощью форматированного текста, используя новую функцию wp_editor(), которая была выпущена с WordPress 3.3.

Http://wordpress.org/extend/plugins/visual-biography-editor/

Использование этого плагина гарантирует, что редактор не будет удален со следующим обновлением ядра, что вам определенно следует сделать по соображениям безопасности.

 1
Author: Kevin Leary, 2012-02-13 01:47:31

Мы должны добавить js lib и редактор инициализации для id="описание"

function mysite_show_extra_profile_fields($user) {
    wp_enqueue_editor();

    ?>
    <script>
    document.addEventListener("DOMContentLoaded", function(event) {
        var id = 'description';
    
        wp.editor.initialize(id, {
            tinymce: {
                wpautop: true
            },
            quicktags: true
        });
    });
    </script>
    <?
    }
    
add_action('show_user_profile', 'mysite_show_extra_profile_fields');
 0
Author: Alexufo, 2021-01-27 23:22:15