I want to create a fairly simple web application using Wordpress, making use of the built-in functionalities it offers.

The app would a personal journal. New entries would be posts, user can choose categories, add tags, and fill out custom fields.

Basic flow is this:

  1. User creates an account to access the site
  2. User can can view, edit, delete, and publish posts on the frontend
  3. User can view statistics about their own posts (total number, by category, by tag)
  4. User can edit their account information on the frontend

I want to create the same look/design for everybody, but every user should only have access to their own posts. Other things I mentioned above can be done with various plugins, but I'm not sure how I can "restrict" the website for each user.

In Short: I want to create and style a Wordpress website, but have it function in a way that every user sees it as their "private" profile.

What is the best, simplest way to achieve this?

  • 1
    have you checked the multisite option? – David Lee Sep 22 '17 at 18:02
  • @DavidLee What do you mean? To have every user have their own site, like Wordpress.com? – fjanecic Sep 22 '17 at 21:31

There are 2 ways to achieve your result:

  1. Use wordpress`s rest api functionality and some frontend js framework (Angular or React or other at your choice)
  2. Code custom theme for this purpose - maybe something with authorization and custom userpages
| improve this answer | |
  • Can you explain what the frameworks would achieve and why they are necessary? I'm not a developer, but I am pretty familiar with Wordpress, so I'm looking for a solution that will achieve the basic functionality without going outside of the WP domain if it's not needed. – fjanecic Sep 22 '17 at 21:33
  • Shortly - you need a developer. – unnamedfeeling Sep 23 '17 at 11:00
  • Long answer - you should DEVELOP all the functionality yourself - select the way in which your application will act (SPA or simple website), select the tools for building your app and build it. As of the simpler way - number 2 in my list - you should code a template for users` login page, a template for users` home and all other templates according to your desired functionality. Other way of achieving your goal is to search for pre-coded theme on the codecanyon or elsewhere. – unnamedfeeling Sep 23 '17 at 11:09
  • About the second option, I should just create these pages and restrict each use from anything but their own post archive? Something like that? I would appreciate if you could expand your answer with more details. – fjanecic Sep 23 '17 at 13:25
  • I think that you`re right - you should restrict users to see posts only created by them - both archive and single post (I would do it by custom post meta). Personally I would code a custom login/register template, home template with checks on current user (user profile page - allowing to review posts and user profile), category and tags archive (which show only current users posts). It is really hard to tell you anything more not knowing details on the project... – unnamedfeeling Sep 23 '17 at 21:50

Use the Multisite option of WordPress, so each user has his own site, install a theme that its a SaaS, install a plugin to restrict the site to logged only or just use is_user_logged_in() (not sure if you need this, with multisite each user will only be able to access his own site).

As you stated you can install plugins for the statistic part.

Another option would be to create the Theme yourself, and show only content related to the current logged user, you will have to modify the default widgets.

| improve this answer | |
  • I don't think that every user needs a separate site. It will just put a lot of unnecessary strain on the server. – fjanecic Sep 23 '17 at 21:11
  • i think the filtering of the content would mean additional DB thinking and time when having only 1 site – David Lee Sep 23 '17 at 21:24

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