My client would like to have a downloads page with both public and client-specific items. I'd considered created a CPT of Client and creating relationships to Download items, or assigning categories, etc. They told me later, however, that they would like the user to be able to set their own password, and reset it via email whenever needed.

So I've looked into various options, trying to avoid anything that uses the actual Users table in the WordPress database. There's tons of plugins to create a community, manage profiles, create frontend users, etc. but they all seem quite bloated and centered around payments, subscriptions, etc. This includes:

And a bunch of others, all seem a bit overkill or bloated to me.

So in the end I am thinking of making that CPT of Client and have an email, password, etc. and a login form, password reset. Has anyone done this, would you have recommendations or snippets, etc. for going this route? Or totally advise against it and suggest something core or a solid plugin?


  • 2
    Using the user system of WordPress avoid your need to reinvent an authentication system, login form, profile form to edit name, e-mail adress and password and you can use the "lost password" page of WordPress. then you can add meta to user like for post with that : codex.wordpress.org/Function_Reference/update_user_meta
    – mmm
    Feb 9, 2018 at 12:28
  • Easy Digital Downloads is focused on selling downloads, but combine it with their Free downloads extension and it meets your use case.
    – Andrew
    Feb 9, 2018 at 12:54
  • @mmm this just may be the way to go, in fact. I'll need to look into it further, if I get any useful results I'll post them here. Thanks for the advice.
    – Benji
    Feb 9, 2018 at 17:31

1 Answer 1


If a user needs to login to the system to see his own items than it is just like any other user. Reinventing the front end will not be good enough as you will need to detect when its logged in, therefor you will need to reinvent basically most of the user related API. It is a pointless work which you are most likely to get wrong (because it is complex, regardless of your skill). Just use the wordpress user system.

(not sure why would you need a plugin for that, but this will depend on your specific needs in the context of the site)

  • Well, a user (or client) would be assigned various Download CPTs. The user would only login to see a page that shows a list of downloads assigned to them, not to see the dashboard, make or edit posts, etc. This user list would also be managed in the backend by a site admin. So I thought a CPT of Client using ACF would be great until they told me the user should control their password.
    – Benji
    Feb 9, 2018 at 17:30
  • Whenever there is an actual login, you will end up with password change, email change and password recovery. It is just unavoidable unless the site owner wants to handle it himself every time a user needs to do it. Blocking the admin from such a user is not very difficult, in theory you can assign them a role of subscribers and than even if they can get into the admin all they can change is their info. This is something you might want to keep or create a different "front end page" for that. Feb 9, 2018 at 18:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.