• This question is going to be a long and winding one, and probably rather vague too, but please bear with me…

    We are planning to implement a WP-based site, with the following requirements:

    Post structure:

    • posts will have lots of extra structural data: in technical terms, each post will include an array of object instances; the object has around 5-10 properties/attributes (both strings and numerics, plus one image)
    • other than the image, the amount of extra data per post will be small, 1 kB at most
    • posts will use WP’s standard taxonomy (categories and tags)

    Authoring:

    • authors will create new posts with a custom-made form/page, instead of the standard WP admin UI
    • authors must be able to upload and attach several images to each new post with the custom-made form/page

    Rendering:

    • the rendering of each post will be based on the extra custom data (i.e. there is no ready-made theme that is able to draw our custom posts)

    Front page:

    • the front page of the site will have several different lists of posts (most recent, most commented etc.)
    • some of the front page lists will be based on the extra custom data (when f.ex. when sorting the list or selecting the correct posts to the list)
    • we need to be able to change the layout of the front page easily, changing the list locations, their length, their selection criteria etc.

    Now, the big question is, how should we utilize all the different customization features in WP, in order to achive all this? So far, we have considered the following:

    • we should define a custom post type, and use either custom meta fields or a totally separate database table for all the extra data structures (the array of objects)
    • we should implement all our custom functionality as a plugin, using PHPs object model as much as possible
    • we should use a ready-made plugin, such as Page Builder or Visual Composer, to manage the front page layout
    • we should use WP’s Media Library to store the images, and refer to each image with its ID
    • for rendering, we should implement a child theme (for whatever parent theme we choose), and use that to store all our custom pages and rendering PHP code

    We have now tested each of these parts separately, but the main concern is, how well will all these work together? Will Page Builder or Visual Composer be able to handle our custom post types? With this architecture, can we choose any theme we want as our parent theme? Would there actually be less work if we wrote our own theme from scratch? And probably a dozen more reasons why this might break apart…

    I would really appreciate it, if anyone could offer some architectural insights for building a site like this. We have only spent a few months with WP so far, but we already have a feeling that this is doable (we all have 10-20 years of experience in designing, programming, UI work etc.) We’re just not sure which parts of WP to use and how.

    Thank you for reading this! Tell me what you think…

  • The topic ‘Designing WP architecture for a site’ is closed to new replies.