WordPress文章内容通过短代码展示指定评论

在文章中引用评论,就是通过短代码在文章中插入博客评论,免去直接截图评论的麻烦,在引用时,添加了评论链接和所在文章链接,还能推推旧文章。

在主题的复制functions.php文件中,添加以下代码:

function xx_insert_comments( $atts, $content = null ){
	extract( shortcode_atts( array(
		'ids' => ''
	),$atts ) );
	$content	 = '';
	$comment_ids = explode(',', $ids);
	$query_args  = array('comment__in'=>$comment_ids,);
	$fa_comments = get_comments($query_args);
	if ( emptyempty($fa_comments) ) return;
	foreach ($fa_comments as $key => $fa_comment) {
		$content .= '<div class="comment-mixtype-embed"><span class="comment-mixtype-embed-avatar">' . get_avatar($fa_comment->comment_author_email,32) . '</span><div class="comment-mixtype-embed-author"><a href="' . get_permalink($fa_comment->comment_post_ID).'#comment-' . $fa_comment->comment_ID . '">' . $fa_comment->comment_author . '</a> - <a href="' . get_permalink($fa_comment->comment_post_ID) . '">' . get_the_title($fa_comment->comment_post_ID) . '</a></div><div class="comment-mixtype-embed-date">' . $fa_comment->comment_date .'</div><div class="comment-mixtype-embed-text">'.  $fa_comment->comment_content . '</div></div>';
	}
	return $content;
}
add_shortcode('xx_insert_comments', 'xx_insert_comments');

CSS样式

这个是作者给出的参考css,大家可以根据自己的想法修改,适合主题风格才更好看哦。

.comment-mixtype-embed {
	background: #f6f6f6;
	border: 1px solid #e5e5e5;
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
	color: #82878c;
	font-size: 14px;
	overflow: auto;
	padding: 16px;
	margin-bottom: 16px;
}

.comment-mixtype-embed-avatar {
	float: left;
	margin-right: 10px
}

.comment-mixtype-embed-avatar .avatar {
	border-radius: 100%;
	width: 32px;
	height: 32px;
	border: none;
	margin: auto;
}

.comment-mixtype-embed-author {
	font-size: 12px;
	color: #3e8432;
	line-height: 1.4
}

.comment-mixtype-embed-date {
	line-height: 1.2;
	font-size: 12px;
	color: rgba(0,0,0,.44)
}

.comment-mixtype-embed-text {
	margin-top: 10px;
	font-size: 12px;
	color: rgba(0,0,0,.6)
}

.comment-mixtype-embed-text p {
	margin-bottom: 2px!important
}

引用方式

1、文章编辑时调用

使用以下短代码调用即可,ids后面数字即为要引用的评论id

[xx_insert_comments ids=123,245]

2、代码文件里调用

可使用以下短代码调用即可,ids后面数字即为要引用的评论id

do_shortcode('[xx_insert_comments ids=123,245]')