1. 首页
  2. WordPress 函数手册

get_comment()

get_comment( WP_Comment|string|int $comment = null, string $output = OBJECT )

检索给定注释ID或注释对象的注释数据。
Retrieves comment data given a comment ID or comment object.

目录锚点:#说明#参数#返回#源码#笔记


说明(Description)

如果传递对象,则将缓存注释数据,然后在通过筛选器传递后返回。如果注释为空,则将使用全局注释变量(如果已设置)。


参数(Parameters)

参数 类型 必填 说明
$comment (WP_Comment | string | int) 可选 要检索的注释。
$output (string) 可选 所需的返回类型。数组或数组中的一个,分别对应于WP_注释对象、关联数组或数值数组。

返回(Return)

(WP|Comment|array|null)取决于$output value。


源码(Source)

/**
 * Retrieves comment data given a comment ID or comment object.
 *
 * If an object is passed then the comment data will be cached and then returned
 * after being passed through a filter. If the comment is empty, then the global
 * comment variable will be used, if it is set.
 *
 * @since 2.0.0
 *
 * @global wpdb   $wpdb WordPress database abstraction object.
 * @global object $comment
 *
 * @param object|string|int $comment Comment to retrieve.
 * @param string $output Optional. OBJECT or ARRAY_A or ARRAY_N constants.
 * @return object|array|null Depends on $output value.
 */
function get_comment(&$comment, $output = OBJECT) {
	global $wpdb;

	if ( empty($comment) ) {
		if ( isset($GLOBALS['comment']) )
			$_comment = & $GLOBALS['comment'];
		else
			$_comment = null;
	} elseif ( is_object($comment) ) {
		wp_cache_add($comment->comment_ID, $comment, 'comment');
		$_comment = $comment;
	} else {
		if ( isset($GLOBALS['comment']) && ($GLOBALS['comment']->comment_ID == $comment) ) {
			$_comment = & $GLOBALS['comment'];
		} elseif ( ! $_comment = wp_cache_get($comment, 'comment') ) {
			$_comment = $wpdb->get_row($wpdb->prepare("SELECT * FROM $wpdb->comments WHERE comment_ID = %d LIMIT 1", $comment));
			if ( ! $_comment )
				return null;
			wp_cache_add($_comment->comment_ID, $_comment, 'comment');
		}
	}

	/**
	 * Fires after a comment is retrieved.
	 *
	 * @since 2.3.0
	 *
	 * @param mixed $_comment Comment data.
	 */
	$_comment = apply_filters( 'get_comment', $_comment );

	if ( $output == OBJECT ) {
		return $_comment;
	} elseif ( $output == ARRAY_A ) {
		$__comment = get_object_vars($_comment);
		return $__comment;
	} elseif ( $output == ARRAY_N ) {
		$__comment = array_values(get_object_vars($_comment));
		return $__comment;
	} else {
		return $_comment;
	}
}
更新版本 源码位置 使用 被使用
2.0.0 wp-includes/comment.php:194 66 4

笔记(Notes)

例子
例子
从评论中获取文章的标题和链接

get_comment() 为WP2原创文章,链接:https://www.wp2.cn/functions/get_comment/

发表评论

您的电子邮箱地址不会被公开。