Mini-Site Strategy

Sounds to me like you are making it more complicated than it needs to be. You already have the author/user as the client – no need to create another concept to represent that.

Requirements:

wp network where each subsite has many users (clients)
Each client wants to have a single page which they can edit and control. (One page only? no posts?)

so their url is something like:

network.com/minisite/clients/clientx (subfolder)

or

minisite.network.com/clients/clientx (subdomain)

How to do:

Use a member/role plugin like Justin Tadlocks free member plugin to create a tailored client role
with capability to edit page, but not create posts etc (or with php)

On client registration, add action on ‘user_register’ :

  1. create a client subpage ‘clientx’ under ‘clients’ with client x as
    author name could be based on their details entered or use a
    registration custom field to ask them what they want the name to be.

Add actions/filters (maybe to look in wp code to find best hooks)

  1. remove add_new from the menu (google wordpress remove menu – I’ve done, just cannot remember now which action)
  2. check if 1 page already created, do not allow more (in case they
    find a way even with menu (WP I don’t think has a create-page
    capability distinct from edit-page, but it may be coming see
    http://core.trac.wordpress.org/ticket/16714
  3. ensure everyone can only see their own pages from the edit-pages list

Possibily (if there is to be a standard template for client pages):

  1. make the auto created pages have a client template that maybe adds
    in their details from their profile etc. You could even have a
    variety of templates that they could use from the edit page dropdown
    to offer them a choice of layout of details wrt content they type in

My interest:

I’m thinking of doing something like this myself and could make it a plugin, so interesting to hear the diffferent requiremenbts that people may have.

I think the approach above would keep it fairly clean and simple (always a good idea).

Leave a Comment