One Page Theme Development Structure

(cfx) #21

Cool, glad you found it useful!

(Leland Fiegel) #22

Coming out of left field here but…is using something other than WordPress an option?

For a one page site, I’ve heard this is recommended:

It’s free and open source, although it looks like it hasn’t been updated in two years. The owner is looking for a new owner according to the readme.

I haven’t used either of these, but Perch or Kirby seem to be viable options. They’re not free, but the price is about what you’d pay for a one-page theme from ThemeForest.

(cfx) #23

@leland: no, you can’t.

(Kalen Johnson) #24

It’s unpossible…

(xool) #25

Here’s my 2 cents with flexible fields.

I created a flexible templates folder and added each flexible fields php file/template to it (have a custom template that calls them). That way i can update the modules and add to the fields in time and also use on other websites and new projects.
I have a separate less file for the fields such as class for module color (i can use variables from my roots theme for example the brand-primary color) so i have a lot of flexibility with everything.

Works like Visual composer, but better! As there is a lot more clean code with it and no bloat.

The only thing i have to do is to pull everything together (custom fields setting json file, templates etc.) into a plugin so it can be easily updated for future projects. Anyone done anything like that? Got any tips or starter points for it?

(Ante Sepic) #26

I work in a team that makes themes for ThemeForest and we (like most other authors) use page builder.

Most popular solution with TF authors is Visual Composer, however we use our own custom builder.
Before that, we were going with pages approach (one section = one page) and customers did not like that very much, they are much more satisfied with an easy to use page builder.

(Mauel Vicedo) #27

If I had to do something like a one-page theme, my approach would be certainly with CPTs.

I would create a Section Post type meant specially for the homepage, and maybe add some custom fields to control their layout. For instance, a color field to change the background and a dropdown that lets you choose how the text is positioned. Things like the Featured Image and title could be used for quick, zig-zag style sections.

As for the menu… That’s where it gets tricky. As @TiborP mentioned before, some themes in Themeforest have some sort of weird mechanic to create menus, and at some point I also had to assist someone in setting up one of these. It was pretty convoluted.

I think I would either leave the menus as is, and direct users to add an internal link (such as #section), or hack the menu Walker to add a custom field with a list of all the existing sections. Alternatively, it could be possible to simply append the section links to the main menu.

Just my two cents :slight_smile:

(Tibor Paulsch) #28

As for page builders, I have been playing with Beaver Builder recently and think it’s the best solution I have seen so far.

(Ben) #29

I’ve never made a one page theme, and I’ve wondered a few times how the content should be managed.

When I’ve thought about it myself I’ve always thought I would go down the widgets route - creating a custom widget that outputs the content of a page.

As such I find it interesting that people are using custom menus. Personally I think widgets would be much more intuitive - especially since you get a live preview when editing with the Customizer. In addition - there would be less code needed to lay things out - so I’m curious to know why people are using the custom menu setup instead? Are there any benefits - or have people simply not considered making a giant sidebar?

BTW - i think I will make a one page theme next - just for fun (and as a proof of concept) :slight_smile:


What I’ve done: Custom post types (or even just regular posts) for page sections. Give them their own category. then create a custom page template, and filter the loop by post category and order. Take out all the post meta info and comments. Put the sections on the WP menu if you want using anchors.
This takes advantage of the way WP is already set up.