User experience is the key factor to conversion now days and thus store owners never miss a single way to provide it anyhow. Abandon from website causes store owners a great deal of pain. There are many reasons customers decide to leave your web store without spending a single penny, one of them is improper redirection.
Let’s take an example: One of our clients got their Magento store customized to hide product prices by default and show only when they login. Now, at the time of users decide to buy, they are asked to login and redirected to Magento login page. By default, after successful login, users are redirected to their My Account page rather than the page from which the login button is clicked. Boom, you are in danger! You are missing out to provide great shopping experience. You should redirect them to a particular page from which user has tried to login in Magento 2 rather than My account page. 80% of the users will not find the page themselves and definitely choose to abandon. This can costs you missing lots of dollars, right?
Now when you have decided to provide better shopping experience, here I have come up with the code to redirect your customers to a particular page in Magento 2 from which they have clicked login button. Even if you don’t set “No” to “Redirect Customers to Account Dashboard After Logging In” in Magento 2 Stores > Configuration > Customers > Customer Configuration > Login Options, this code will work without any issue.
Implementing the code for this is pretty easy. You just have to add following code in your phtml file where you want to add custom login link or button.
$url = $this->getUrl('*/*/*', ['_current' => true, '_use_rewrite' => true]);
$login_url = $block->getUrl('customer/account/login', array('referer' => base64_encode($url));
<button type="button" onclick="location.href=' <?php echo $login_url; ?> '" title="<?php echo "Please Login" ?>" ><span><?php echo "Please Login" ?></span></button>
Hope this guide has helped you to redirect users to the page of your choice and thus provide better shopping experience. Let me know if you are stuck with any issue or query implementing this code. I would be happy to help you any time.