Automattic\WooCommerce\Internal\PushNotifications\Notifications

NewReviewNotification::to_payloadpublicWC 10.7.0

Returns the WPCOM-ready payload for this notification.

Returns null if the comment no longer exists.

Method of the class: NewReviewNotification{}

No Hooks.

Returns

Array|null.

Usage

$NewReviewNotification = new NewReviewNotification();
$NewReviewNotification->to_payload(): ?array;

Changelog

Since 10.7.0 Introduced.

NewReviewNotification::to_payload() code WC 10.8.1

public function to_payload(): ?array {
	$comment = WC()->call_function( 'get_comment', $this->get_resource_id() );

	if ( ! $comment || ! $comment instanceof WP_Comment ) {
		return null;
	}

	return array(
		'type'        => $this->get_type(),
		// This represents the time the notification was triggered, so we can monitor age of notification at delivery.
		'timestamp'   => gmdate( 'c' ),
		'resource_id' => $this->get_resource_id(),
		'title'       => array(
			/**
			 * This will be translated in WordPress.com, format:
			 * 1: reviewer name, 2: product name
			 */
			'format' => '%1$s left a review on %2$s',
			'args'   => array(
				wp_strip_all_tags( $comment->comment_author ),
				wp_strip_all_tags( get_the_title( (int) $comment->comment_post_ID ) ),
			),
		),
		'message'     => array(
			'format' => '%1$s',
			'args'   => array(
				wp_strip_all_tags( $comment->comment_content ),
			),
		),
		'icon'        => get_avatar_url( $comment->comment_author_email ),
		'meta'        => array(
			'comment_id' => $this->get_resource_id(),
		),
	);
}