Salve a tutti!
Ho abilitato - tramite un codice customizzato nel function.php - i classici bottoni nel comment form ma... il codice non mi piace molto e mi chiedevo se qualcuno conosce soluzioni "pulite" magari tramite qualche filtro ufficuale o qualche piccolo plugin.
Codice PHP:
/* Comment form with buttons start */
add_filter( 'comment_form_field_comment', 'comment_editor' );
function comment_editor()
{
global $post;
ob_start();
wp_editor( '', 'comment', array('textarea_rows' => 15, 'teeny' => true, 'quicktags' => true, 'media_buttons' => true) );
$editor = ob_get_contents();
ob_end_clean();
//make sure comment media is attached to parent post
$editor = str_replace( 'post_id=0', 'post_id='.get_the_ID(), $editor );
return $editor;
}
// wp_editor doesn't work when clicking reply. Here is the fix.
add_action( 'wp_enqueue_scripts', '__THEME_PREFIX__scripts' );
function __THEME_PREFIX__scripts()
{
wp_enqueue_script('jquery');
}
add_filter( 'comment_reply_link', '__THEME_PREFIX__comment_reply_link' );
function __THEME_PREFIX__comment_reply_link($link)
{
return str_replace( 'onclick=', 'data-onclick=', $link );
}
add_action( 'wp_head', '__THEME_PREFIX__wp_head' );
function __THEME_PREFIX__wp_head()
{
echo "
<script defer>
jQuery(function($){
$('.comment-reply-link').click(function(e){
e.preventDefault();
var args = $(this).data('onclick');
args = args.replace(/.*\(|\)/gi, '').replace(/\"|\s+/g, '');
args = args.split(',');
tinymce.EditorManager.execCommand('mceRemoveEditor', true, 'comment');
addComment.moveForm.apply( addComment, args );
tinymce.EditorManager.execCommand('mceAddEditor', true, 'comment');
});
});
</script>";
}
/* Comment form with buttons end */
jquery, replace... insomma, non son convinto di volerlo tenere (anche se, bisogna ammetterlo, sembra funzionare).
fatemi sapere se conoscete valide alternative :)
grazie,
S.N.