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
Використання не знайдено.