I want to develop high quality themes by taking in to account all the important things like usability, accessibility. I just want my theme to be "perfect".

Here is my dilemma.

So, what is best way to build a Home Page with a lot of sections?

I know there are three possible ways.

  1. Widgets Page
  2. Builder ( I do not have time to create premium themes. I want to distribute free themes on my spare time. So only free versions of the page builders )
  3. CMB2 or ACF

All three have pros and cons. But its the cons that bothers me a lot.

  1. Widgets - The only problem I have with widgets is If someone accidentally deletes a widget with an image or content, pufff, the content is gone. Plus, If they want to use the same widget with same content in some other sidebar, they have to copy all the content again, Which is kinda tedious and also redundant content.

  2. Page Builders - Little too much markup and less control. I am also aware that people love to use them. Removes developer dependency for a lot of things which is good for free themes. May be as a web standardista :stuck_out_tongue: I have a ego problem here :fearful:

  3. CMB2 or ACF - Developer Friendly but not client friendly. Its not going to be alright if you are planning to add or remove a section.

So, What is the best way??

1 Answer 1


Due to historical context implementation of static front pages in WordPress is, simply put, a horror. This is not something it was meant to do originally and the way it was bolted on at a certain point is opposite of smooth.

Under these constraints it would be hard to impossible to say what would be the “perfect” approach. You are dealing with very imperfect situation already and core is not opinionated about implementation details, so there is little guidance.

I would say your approach should not be technically driven, it should be designed first. One niche’s idea of modular front page could be quite different from other’s.

  1. Start with a design (by which I mean design, not just a pretty look).
  2. Clarify as much as possible desired functionality of the blocks.
  3. Evaluate possible technical implementation based on those needs.
  • Makes sense now. So I can go with any method as long as my code is clean and free of errors ? Jul 10, 2017 at 13:35
  • Yes, this will be matter of design and preference. There is no recognized best or even typical practice for it at this time.
    – Rarst
    Jul 10, 2017 at 13:38

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