How to Make User Register but not Login in Magento 2.4?

How to Make User Register but not Login in Magento 24

Hello Magento Friends,

Today I will provide the solution for How to Make User Register but not Login in Magento 2.4?

In default Magento, when the customer registers, they are not asked for login. The user gets automatically logged in after registering.

After registration, the customer must be redirected to the login page instead of automatic login. To accomplish this follow the below step.

Steps to Make User Register but not Login in Magento 2.4:

Step 1: Create a file in your extension along with the plugin at the below-mentioned path

app\code\Vendor\Extension\Plugin\Customer\Account\CreatePost.php

Now, add the below code

<?php

namespace Vendor\Extension\Plugin\Customer\Account;

use Magento\Framework\Controller\Result\RedirectFactory;
use Magento\Framework\App\Response\RedirectInterface;
use Magento\Customer\Model\Session;

class CreatePost
{
    protected $resultRedirectFactory;

    protected $redirect;

    protected $customerSession;

    public function __construct(
        RedirectFactory $redirectFactory,
        RedirectInterface $redirectInterface,
        Session $customerSession
    ) {
        $this->resultRedirectFactory = $redirectFactory;
        $this->redirect = $redirectInterface;
        $this->customerSession = $customerSession;
    }

    public function afterExecute(Magento\Customer\Controller\Account\CreatePost $subject, $result)
    {
        if ($this->customerSession->getRegisterSuccess()){
            $lastcustomerId = $this->customerSession->getCustomerId();
            $this->customerSession->logout()->setBeforeAuthUrl($this->redirect->getRefererUrl())
                ->setLastCustomerId($lastCustomerId);

            /** @var \Magento\Framework\Controller\Result\Redirect $resultRedirect */
            $resultRedirect = $this->resultRedirectFactory->create();
            $resultRedirect->setPath('customer/account/login');
            $result = $resultRedirect;
        }
        return $result;
    }
}

That’s it!

Conclusion:

Simple as that, this way you can Make User Register but not Login in Magento 2. Mention your difficulties in the comment box. Share the article and stay connected with us.

Happy Coding!

Previous Article

A Step-by-Step Guide to Installing Cloudflare CDN for Magento 2

Next Article

How to Use Magento 2 Block Cache

Write a Comment

Leave a Comment

Your email address will not be published. Required fields are marked *

Get Connect With Us

Subscribe to our email newsletter to get the latest posts delivered right to your email.
Pure inspiration, zero spam ✨