wp_ajax_get_comments

函数
wp_ajax_get_comments ( $action )
参数
  • (string) $action Action to perform.
    Required:
定义位置
相关方法
wp_ajax_edit_commentwp_ajax_delete_commentwp_ajax_replyto_commentwp_ajax_get_community_eventswp_ajax_dim_comment
引入
3.1.0
弃用
-

wp_ajax_get_comments函数是一个WordPress的AJAX动作,它为一个文章检索评论并以HTML格式返回: 这个函数通常用于以动态方式显示评论,而不需要重新加载页面: 该函数首先检查当前用户是否有查看评论的必要权限,然后使用get_comments函数检索评论。检索到的评论会被格式化为HTML并在AJAX请求的响应中返回。

获取评论的Ajax处理程序。

function wp_ajax_get_comments( $action ) {
	global $post_id;

	if ( empty( $action ) ) {
		$action = 'get-comments';
	}

	check_ajax_referer( $action );

	if ( empty( $post_id ) && ! empty( $_REQUEST['p'] ) ) {
		$id = absint( $_REQUEST['p'] );
		if ( ! empty( $id ) ) {
			$post_id = $id;
		}
	}

	if ( empty( $post_id ) ) {
		wp_die( -1 );
	}

	$wp_list_table = _get_list_table( 'WP_Post_Comments_List_Table', array( 'screen' => 'edit-comments' ) );

	if ( ! current_user_can( 'edit_post', $post_id ) ) {
		wp_die( -1 );
	}

	$wp_list_table->prepare_items();

	if ( ! $wp_list_table->has_items() ) {
		wp_die( 1 );
	}

	$x = new WP_Ajax_Response();

	ob_start();
	foreach ( $wp_list_table->items as $comment ) {
		if ( ! current_user_can( 'edit_comment', $comment->comment_ID ) && 0 === $comment->comment_approved ) {
			continue;
		}
		get_comment( $comment );
		$wp_list_table->single_row( $comment );
	}
	$comment_list_item = ob_get_clean();

	$x->add(
		array(
			'what' => 'comments',
			'data' => $comment_list_item,
		)
	);

	$x->send();
}

常见问题

FAQs
查看更多 >