Automatically Create Personal Pages for WordPress Users

One PublishPress user asked if they could create a single page for each user. They wanted to create profile pages where each user could update their own page.

This is possible in WordPress with the PublishPress Permissions Pro plugin. There is also process for creating these personal pages manually. We recommend that for sites with a small number of users, or sites that rarely add new users.

  • Start by creating the user accounts on your site, or by creating a new user role. In the example, below, we have some existing users, but this process will also work for new users.
  • Go to Permissions > Settings > Sync Posts. This is the PublishPress Permissions feature that allows you to sync users to content.
  • Check the “Synchronize Posts to Users” box.
  • Check the “Pages” box.

Now you can choose your settings in the image above:

  • Sync to Current Users: Do you want to create pages for existing users?
  • Role to Sync: You can drill down to specific user groups.
  • Post Match Field: This is where the user data will be sent. By default, it's entered into the page title.
  • User Match Field: Which user data do you want to use to create the page?

You may also want to check the “Grant Author Permissions” box on this screen. This will enable users to edit their own synchronized post, no matter what their user role is.

  • Click “Sync to Selected Users”.
  • You'll see a message saying that your content was created.
  • Click “Save Changes”.
  • Go to the “Posts” screen.
  • You'll now see each user on your site has a page in their name. They are the author of that page and can edit it.

You can now publish these pages, or allow the users to edit and publish their own pages when ready.

I would recommend that you test some of these accounts. This is easier to do with the PublishPress Capabilities user testing feature.

Thanks to PublishPress Permissions Pro, this works for any content type. You can automatically create posts, WooCommerce products or almost any other type of WordPress content.