Функция wp_set_comment_status()
изменяет статус указанного комментария на один из допустимых статусов. Это может быть полезно для автоматической модерации комментариев, например, при использовании плагинов или при написании собственных скриптов.
wp_set_comment_status( int|WP_Comment $comment_id, string $comment_status, bool $wp_error = false ): bool|WP_Error
Функция wp_set_comment_status()
изменяет статус указанного комментария. После установки статуса вызывается хук wp_set_comment_status
. Если указанный статус не входит в список допустимых значений, функция возвращает false
.
Параметры
$comment_id
(int|WP_Comment
): ID комментария или объектWP_Comment
. Это обязательный параметр.$comment_status
(string
): Новый статус комментария. Допустимые значения:'hold'
или0
– На модерации'approve'
или1
– Одобрен'spam'
– Спам'trash'
– Корзина
$wp_error
(bool
): Определяет, следует ли возвращать объектWP_Error
в случае ошибки. По умолчаниюfalse
.
Возвращаемое значение
true
, если статус был успешно изменен.false
, если статус не был изменен.WP_Error
, если установлен параметр$wp_error
и произошла ошибка.
Пример использования
// ID комментария, статус которого нужно изменить
$comment_id = 123;
// Изменение статуса комментария на 'approve' (одобрен)
$result = wp_set_comment_status( $comment_id, 'approve' );
// Проверка результата
if ( $result ) {
echo 'Комментарий успешно одобрен.';
} else {
echo 'Не удалось изменить статус комментария.';
}
Как получить статус комментариев для поста:
<?php
$get_post = get_post( get_the_ID() ); // Получаем ID поста
$status = $get_post->comment_status; // Получаем статус комментариев
if ( $status == 'open' ) {
// Выполняем действие только если комментарии открыты
}
?>
Примечания
- Убедитесь, что комментарий с указанным ID существует, иначе функция вернет
false
. - В зависимости от статуса, который вы устанавливаете, могут быть выполнены дополнительные действия, такие как отправка уведомлений или перемещение комментария в другую категорию (например, в корзину).
Заключение
Функция wp_set_comment_status()
в WordPress позволяет изменять статус комментария. Эта функция полезна для администраторов и разработчиков, которые хотят управлять комментариями на сайте, например, для модерации или автоматической обработки.