Как вывести в комментариях редактор текста в ленте постов под каждым постом?
нужен вот такой редактор
может как -то проще решить задачу мне нужен этот редактор чтобы была возможность вставить ссылу и картинку
мне нужен этот редактор чтобы была возможность вставить ссылу и картинку
вот страница http://egocreo.webalgoritm.tmweb.ru/mikroblog/,
как вывести редактор текста пробовал вот так ,но работает с id ,а у коментов он одинаковый если для первых коментов можно взять id записи то для последующих это не подойдет В файле functions.php, что находится в папке с темой, создадим новую функцию:
function mayak_editor_comments(){
//тут будет сценарий
}
В данный скелет вставляем сценарий на основе функции wp_editor() с нужным набором аргументов. Для примера я взял следующий сценарий:
function mayak_editor_comments(){
$settings = array(
'media_buttons'=>0,
'textarea_name'=>'comment',
'quicktags'=>0,
'teeny'=>0,
'tinymce'=> 1,
'textarea_rows'=>10,
);
$aut = wp_editor('', 'comment', $settings);
return $aut;
}
Теперь идем в файл comments.php и ищем код вывода текстового поля:
<textarea id="comment" class="textarea" name="comment" cols="100" rows="10" tabindex="4"></textarea>
Вместо этой строчки вставляем код вызова нашей функции:
<?php mayak_editor_comments(); ?>
Ответы (1 шт):
Автор решения: Valerii Vasiliev
→ Ссылка
Попробуйте так
<?php
add_filter( 'comment_form_field_comment', 'comment_form_field_editor' );
function comment_form_field_editor( $field ) {
global $post;
ob_start();
wp_editor( '', 'comment-'.get_the_ID(), array(
'textarea_rows' => 15,
'textarea_name' => 'comment'
) );
$editor = ob_get_contents();
ob_end_clean();
$editor = str_replace( 'post_id=0', 'post_id='.get_the_ID(), $editor );
return $editor;
}
add_action('wp_enqueue_scripts', 'load_wp_enqueue_editor_scripts');
function load_wp_enqueue_editor_scripts() {
wp_enqueue_editor();
}
Функция для reinit редактора
jQuery(document).ready(function () {
function init_editors() {
jQuery.each( jQuery('.wp-editor-area'), function( i, editor ) {
var editor_id = jQuery(editor).attr('id');
wp.editor.remove(editor_id);
wp.editor.initialize(
editor_id,
{
tinymce: {
wpautop: true,
plugins : 'charmap colorpicker compat3x directionality fullscreen hr image lists media paste tabfocus textcolor wordpress wpautoresize wpdialogs wpeditimage wpemoji wpgallery wplink wptextpattern wpview',
toolbar1: 'bold italic underline strikethrough | bullist numlist | blockquote hr wp_more | alignleft aligncenter alignright | link unlink | fullscreen | wp_adv',
toolbar2: 'formatselect alignjustify forecolor | pastetext removeformat charmap | outdent indent | undo redo | wp_help'
},
mediaButtons: true,
}
);
});
}
jQuery('.comment-reply-link').click(function(){
setTimeout(init_editors, 10);
});
init_editors();
});