Функция 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 позволяет изменять статус комментария. Эта функция полезна для администраторов и разработчиков, которые хотят управлять комментариями на сайте, например, для модерации или автоматической обработки.