2013-08-11 2 views
0

Я изучаю последние несколько часов, пытаясь найти способ отключить HTML в комментариях WordPress. До сих пор это один неизменно появлялся на вершине поиска Google результаты много раз:Отключение HTML по комментариям

// This will occur when the comment is posted 
function plc_comment_post($incoming_comment) { 

// convert everything in a comment to display literally 
$incoming_comment['comment_content'] = htmlspecialchars($incoming_comment['comment_content']); 

// the one exception is single quotes, which cannot be #039; because WordPress marks it as spam 
$incoming_comment['comment_content'] = str_replace("'", ''',   $incoming_comment['comment_content']); 

return($incoming_comment); 
} 

// This will occur before a comment is displayed 
function plc_comment_display($comment_to_display) { 

// Put the single quotes back in 
$comment_to_display = str_replace(''', "'", $comment_to_display); 

return $comment_to_display; 

Этот код не работает с последней версией WordPress. Я также нашел еще много кодов, которые снова не работали. Итак, как можно было бы отключить HTML в комментариях WordPress 3.6 (последняя версия)?

+0

Сколько лет вы нашли этот код? –

+0

около года – Dyck

+0

Изменен ли API WordPress? –

ответ

2

Это снимало возможность пользователям размещать HTML (но не ссылки на какой-то странной причине) в комментариях:

add_filter('pre_comment_content', 'wp_specialchars');

Это устранило возможность пользователям размещать ссылки в комментариях:

remove_filter('comment_text', 'make_clickable', 9);

+1

add_filter ('pre_comment_content', 'wp_filter_nohtml_kses'); также имеет ссылки. – henrywright

+0

И вы добавляете add_filter ('get_comment_author_link', array ('Comments_Cleaner', 'RemoveHTML')); и спамер не будет спамить со ссылками :) – Nemke

3

Для того, чтобы отключить HTML-теги в комментариях, введите следующий код в свою тему: functions.php:

add_filter('comment_text', 'wp_filter_nohtml_kses'); 
add_filter('comment_text_rss', 'wp_filter_nohtml_kses'); 
add_filter('comment_excerpt', 'wp_filter_nohtml_kses'); 
+0

Это не то, что я хочу сделать, я просто хотел отключить их от КОММЕНТАРИЙ не весь мой сайт в целом. – Dyck

+0

Да, это будет работать так, как вы просите –

Смежные вопросы