Automatic redirection to review

Hi, guys. It would be helpful to. Automatically redirect to write a review for the completed service after the user confirms the completed transaction

Unfortunately, the rating system is not as vendor friendly, as the user is not automatically directed to a review after the service is rendered.

Thanks, we’ll consider adding this feature, also maybe a reminder email about the review after the order is completed (you can also add this to the Order Completed email as a temporary workaround).

3 Likes

When I create a custom email for Order completed how can I insert a link in the message that will redirect the user to leave a review page for his order? %order_url% will do it?

1 Like

If you mean review for the listing, which is in the order, then we can check the possibility of providing the code snippet if it is urgent for you. But we already work on this feature which will be in the future updates of the HivePress Review extension

Yes, please. I need the order completed email will contain a link that will transfer the user directly to leave reviews for his order/listing order. Because now it is very difficult to understand for user regular user how to leave a review for his order, so if the user will receive a link inside the order completed message that will transfer him directly to leave a review for his listing I will be great.

If you have any code snippet that can make this option happen this is great as a temporary workaround.

Please try this PHP snippet as a temporary solution. It adds token %listing_url% to Order Completed email template, which you can edit in HivePress/Emails

add_filter(
	'hivepress/v1/emails/order_complete',
	function( $args ) {
		if ( !isset( $args['tokens']['order_number'] ) ) {
			return $args;
		}
		
		$order_id = intval(ltrim($args['tokens']['order_number'], '#'));
			
		if(!$order_id){
			return $args;
		}
		
		$order = wc_get_order($order_id);
		
		if(!$order){
			return $args;
		}
		
		$item = hivepress()->helper->get_first_array_value( $order->get_items() );

		if ( ! $item || ! $item->get_product_id() ) {
			return;
		}
		
		$product = $item->get_product();
		
		if(!$product){
			return $args;
		}
		
		$listing = null;
		$listing_id = $product->get_parent_id();

		if ( $listing_id ) {
			$listing = \HivePress\Models\Listing::query()->get_by_id( $listing_id );
		}
		
		if(!$listing){
			return $args;
		}
		
		$listing_url = get_permalink( $listing->get_id() );
		
		if(!$listing_url){
			return $args;
		}

		$args['tokens']['listing_url'] = $listing_url;

		return $args;
	},
	1000
);

Thank you. but the order completed email template on hivepress is sending email to the vendor and not to the user. So it’s unuseful to send the vendor the order details to leave a review. the order url should be in the email that buyer receive.

Sorry for the confusion. Unfortunately, there is no simple solution to customize the WooCommerce email, which is sent to users when an order is completed. But we already work on adding HivePress email to request feedback when the order is completed. This feature will be in the future updates of the HivePress Review extension. If it is urgent for you and you are not familiar with the code customization then please consider hiring someone for custom work https://fvrr.co/32e7LvY

Looking forward to this update on the Review extension!

2 Likes

What is the current status? Has this been implemented in a new update already or is it known in which update it will be?

This will be next one for sure but currently we’re working on the core HivePress update.

Thank you @ihor.

In the mean time I’ve found a work-around for anyone who’s interested. With n8n.io, I get a woocommerce update with every new order, which includes the product id. I store this in a database and I can query the permalink of the product id by using the woocommerce node and then I can add #review_submit_modal to that permalink and send an email to the customer to ask for a review.

But the link won’t work at this moment. You need to add some javascript to the listing page so the modal automatically opens when you go to the URL:

function activateModal() {
  if (window.location.hash === '#review_submit_modal') {
    var reviewButton = document.querySelector('.hp-listing__action--review');
    if (reviewButton) {
      reviewButton.click();
    }
  }
};

setTimeout(activateModal, 3000);

The function activateModal checks the hashtag in the URL and if correct, it will simulate a mouseclick on the review listing button. This activates the Hivepress code to open the review modal.

setTimeout is used to activate the function with a little delay because in my case it wouldn’t otherwise work.

1 Like

Hi, can you please add other steps that need to be done for this to work. And could I hide leave a review button with css so only the customer can leave a review trough the email link?

It depends on your workflow which steps to take.

In general:

  1. Connect N8N* with woocommerce and with every new order, N8N receives order information including product id.
  2. With N8N request product information with the product id and request product information. In that information you’ll get the permalink
  3. Send an email or message to the customer (either directly or after the product or service has been rendered) with the permalink plus add #review_submit_modal to the end of that link.
  4. But for the link to work with #review_submit_modal I use the javascript I shared in the previous message so the review modal automatically opens. You can use Code Snippets as plugin to put this code on the page.

*You probably can also use Zapier instead of N8N, but I find the latter one more useful and cheaper.

Also: Yes you can hide the review button with CSS. But filling in the review will still take place on the product page. You can try this:

.hp-listing__action.hp-listing__action--review.hp-link {
  display: none;
}
1 Like

Thanks you so much, have a nice day!

any update on this automation?

Hi,

This feature is still under development, and unfortunately there is no exact date when it will be released.

@Slashing
This is great, thanks! Where exactly do you copy this in, it seems to not be working in functions.php. How do I add this only to the listings page?