WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Рекомендуемые продукты со скидкой от Template Monster

wp_set_comment_status() WP 1.0.1

Устанавливает статус комментария: hold, approve, spam.

После установки статуса, срабатывает хук wp_set_comment_status (см. код функции).

Является основой для: wp_spam_comment()
Хуки из функции
Возвращает

false/true. true — удалось установить статус. false — статус установить не удалось.

Использование

wp_set_comment_status( $comment_id, $comment_status );
$comment_id(число) (обязательный)
ID комментария.
По умолчанию: нет
$comment_status(строка) (обязательный)

Статус комментария, который нужно установить. Может быть:

  • 'hold' или '0'
  • 'approve' или '1'
  • 'spam'
  • 'trash'

По умолчанию: нет

Примеры

#1 Разрешим комментарий с ID = 9, находящийся на проверке

wp_set_comment_status( 9, '1' );

#1.2 Вернем его обратно на проверку

wp_set_comment_status( 9, '0' );

Заметки

  • Global. wpdb. $wpdb WordPress database abstraction object.

Список изменений

С версии 1.0.0 Введена.

Код wp set comment status: wp-includes/comment.php WP 5.2.3

<?php
function wp_set_comment_status( $comment_id, $comment_status, $wp_error = false ) {
	global $wpdb;

	switch ( $comment_status ) {
		case 'hold':
		case '0':
			$status = '0';
			break;
		case 'approve':
		case '1':
			$status = '1';
			add_action( 'wp_set_comment_status', 'wp_new_comment_notify_postauthor' );
			break;
		case 'spam':
			$status = 'spam';
			break;
		case 'trash':
			$status = 'trash';
			break;
		default:
			return false;
	}

	$comment_old = clone get_comment( $comment_id );

	if ( ! $wpdb->update( $wpdb->comments, array( 'comment_approved' => $status ), array( 'comment_ID' => $comment_old->comment_ID ) ) ) {
		if ( $wp_error ) {
			return new WP_Error( 'db_update_error', __( 'Could not update comment status' ), $wpdb->last_error );
		} else {
			return false;
		}
	}

	clean_comment_cache( $comment_old->comment_ID );

	$comment = get_comment( $comment_old->comment_ID );

	/**
	 * Fires immediately before transitioning a comment's status from one to another
	 * in the database.
	 *
	 * @since 1.5.0
	 *
	 * @param int         $comment_id     Comment ID.
	 * @param string|bool $comment_status Current comment status. Possible values include
	 *                                    'hold', 'approve', 'spam', 'trash', or false.
	 */
	do_action( 'wp_set_comment_status', $comment->comment_ID, $comment_status );

	wp_transition_comment_status( $comment_status, $comment_old->comment_approved, $comment );

	wp_update_comment_count( $comment->comment_post_ID );

	return true;
}

Cвязанные функции

Из метки: statuses (статус записи коммента юзера)

Еще из раздела: Комментарии

Комментариев нет
    Здравствуйте, !     Войти . Зарегистрироваться