'unapproved') { $status = 'hold'; } return $status; }, [ 'options' => $this->getCommentStatuses(), ] ), new Field( 'wordpress:comment:comment-agent', Field::TYPE_STRING, __('Comment user agent', 'mailpoet'), function (CommentPayload $payload) { $comment = $payload->getComment(); //phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps return $comment ? $comment->comment_agent : null; } ), new Field( 'wordpress:comment:comment-type', Field::TYPE_STRING, __('Comment type', 'mailpoet'), function (CommentPayload $payload) { $comment = $payload->getComment(); //phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps return $comment ? $comment->comment_type : null; } ), new Field( 'wordpress:comment:comment-parent', Field::TYPE_INTEGER, __('Comment parent ID', 'mailpoet'), function (CommentPayload $payload) { $comment = $payload->getComment(); //phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps return $comment ? (int)$comment->comment_parent : null; } ), new Field( 'wordpress:comment:has-children', Field::TYPE_BOOLEAN, __('Comment has replies', 'mailpoet'), function (CommentPayload $payload) { $comment = $payload->getComment(); //phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps return $comment ? count($comment->get_children()) > 0 : false; } ), ]; } private function getCommentStatuses(): array { $statuses = $this->wp->getCommentStatuses(); return array_values(array_map( function($name, $id): array { return [ 'id' => $id, 'name' => $name, ]; }, $statuses, array_keys($statuses) )); } }