preprocess_comment
Фільтрує дані коментаря перед тим як вони будуть очищені та додані до бази даних. Фільтр спрацьовує на початку функції, яка додає новий коментар: wp_new_comment() .
Використання
add_filter( 'preprocess_comment', 'wp_kama_preprocess_comment_filter'); /** * Function for `preprocess_comment` filter-hook. * * @param array $commentdata Comment data. * * @return array */ function wp_kama_preprocess_comment_filter( $commentdata ){ // Filter... return $commentdata; }
-
$commentdata
(масив) Дані коментаря, що додається. Виглядають приблизно так:
Array( [comment_post_ID] => 4929 [comment_author] => Kama [comment_author_email] => [email protected] [comment_author_url] => [comment_content] => Текст коментарю [comment_type] => [comment_parent] => 0 [user_ID] => 1 [comment_author_IP] => 123.123.123.123 [comment_agent] => Mozilla/5.0 (Windows NT 6.1; Win64; ... )
Приклади
#1 Встановимо свій тип коментаря
Припустимо, що у нас на сайті є довільний тип записів. І нам потрібно, щоб коментарі до цих записів також мали свій нестандартний тип. Тип комменатрію вказується у полі comment_type
таблиці wp_comments
.
Цей приклад показує, як встановити тип коментаря ‘for_book’, коли коментар залишається для посту ‘book’:
// Встановлюємо тип коментаря for_book при додаванні коментаря add_filter( 'preprocess_comment', 'set_for_book_comment_type' ); function set_for_book_comment_type( $commentdata ){ $post = get_post( $commentdata['comment_post_ID'] ); if( $post->post_type == 'book' ) $commentdata['comment_type'] = 'for_book'; return $commentdata; }
список змін
З версії 1.5.0 | Введено. |
З версії 5.6.0 | Comment data включає в себе comment_agent and comment_author_IP values. |
Де викликається хук
preprocess_comment
Де використовується хук у WordPress
Використання не знайдено.