acf_form_comment::edit_comment │ public │ ACF 5.0.0

This function is run on the admin comment.php page and will render the ACF fields within custom metaboxes to look native

Method of the class: acf_form_comment{}

No Hooks.

Returns

n/a.

Usage

$acf_form_comment = new acf_form_comment();
$acf_form_comment->edit_comment( $comment );
$comment(required)
.

Changelog

Since 5.0.0 Introduced.

acf_form_comment::edit_comment() code ACF 6.8.8

<?php
function edit_comment( $comment ) {

	// vars
	$post_id = "comment_{$comment->comment_ID}";

	// get field groups
	$field_groups = acf_get_field_groups(
		array(
			'comment' => get_post_type( $comment->comment_post_ID ),
		)
	);

	// render
	if ( ! empty( $field_groups ) ) {

		// render post data
		acf_form_data(
			array(
				'screen'  => 'comment',
				'post_id' => $post_id,
			)
		);

		foreach ( $field_groups as $field_group ) {

			// load fields
			$fields = acf_get_fields( $field_group );

			// vars
			$o = array(
				'id'         => 'acf-' . $field_group['ID'],
				'key'        => $field_group['key'],
				// 'style'           => $field_group['style'],
				'label'      => $field_group['label_placement'],
				'edit_url'   => '',
				'edit_title' => __( 'Edit field group', 'acf' ),
				// 'visibility'  => $visibility
			);

			// edit_url
			if ( $field_group['ID'] && acf_current_user_can_admin() ) {
				$o['edit_url'] = admin_url( 'post.php?post=' . $field_group['ID'] . '&action=edit' );
			}

			?>
			<div id="acf-<?php echo esc_attr( $field_group['ID'] ); ?>" class="stuffbox">
				<h3 class="hndle"><?php echo acf_esc_html( acf_get_field_group_title( $field_group ) ); ?></h3>
				<div class="inside">
					<?php acf_render_fields( $fields, $post_id, 'div', $field_group['instruction_placement'] ); ?>
					<script type="text/javascript">
					if( typeof acf !== 'undefined' ) {
						acf.newPostbox(<?php echo json_encode( $o ); ?>);
					}
					</script>
				</div>
			</div>
			<?php
		}
	}
}