函数文档

get_comment_type()

💡 云策文档标注

概述

get_comment_type() 函数用于获取指定评论的类型,如 'comment'、'pingback' 或 'trackback'。它接受一个可选的评论 ID 或 WP_Comment 对象作为参数,并返回评论类型字符串。

关键要点

  • 参数 $comment_id 可选,可以是评论 ID 或 WP_Comment 对象,默认为当前评论。
  • 返回值为字符串,表示评论类型,空字符串默认转换为 'comment'。
  • 通过 apply_filters('get_comment_type', ...) 钩子允许过滤返回的评论类型。
  • 函数内部使用 get_comment() 获取评论数据,并处理默认类型。

代码示例

function get_comment_type( $comment_id = 0 ) {
	$comment = get_comment( $comment_id );

	if ( '' === $comment->comment_type ) {
		$comment->comment_type = 'comment';
	}

	/**
	 * Filters the returned comment type.
	 *
	 * @since 1.5.0
	 * @since 4.1.0 The `$comment_id` and `$comment` parameters were added.
	 *
	 * @param string     $comment_type The type of comment, such as 'comment', 'pingback', or 'trackback'.
	 * @param string     $comment_id   The comment ID as a numeric string.
	 * @param WP_Comment $comment      The comment object.
	 */
	return apply_filters( 'get_comment_type', $comment->comment_type, $comment->comment_ID, $comment );
}

注意事项

  • 从 WordPress 4.4.0 开始,$comment_id 参数支持 WP_Comment 对象。
  • 钩子 get_comment_type 可用于自定义评论类型的返回逻辑。
  • 相关函数包括 get_comment() 和 comment_type(),常用于评论处理场景。

📄 原文内容

Retrieves the comment type of the current comment.

Parameters

$comment_idint|WP_Commentoptional
WP_Comment or ID of the comment for which to get the type.
Default current comment.

Return

string The comment type.

Source

function get_comment_type( $comment_id = 0 ) {
	$comment = get_comment( $comment_id );

	if ( '' === $comment->comment_type ) {
		$comment->comment_type = 'comment';
	}

	/**
	 * Filters the returned comment type.
	 *
	 * @since 1.5.0
	 * @since 4.1.0 The `$comment_id` and `$comment` parameters were added.
	 *
	 * @param string     $comment_type The type of comment, such as 'comment', 'pingback', or 'trackback'.
	 * @param string     $comment_id   The comment ID as a numeric string.
	 * @param WP_Comment $comment      The comment object.
	 */
	return apply_filters( 'get_comment_type', $comment->comment_type, $comment->comment_ID, $comment );
}

Hooks

apply_filters( ‘get_comment_type’, string $comment_type, string $comment_id, WP_Comment $comment )

Filters the returned comment type.

Changelog

Version Description
4.4.0 Added the ability for $comment_id to also accept a WP_Comment object.
1.5.0 Introduced.