Page Builder for ClassicPress

Hi there!

I’m looking for a page builder plugin for ClassicPress. @ElisabettaCarrara suggested f(x) Builder and I really, really like it.

The only thing I don’t like is that it’s using floats instead of modern CSS (Flex or Grid).

I want to fork the plugin and update it for modern CSS, modern PHP and ClassicPress.

Would there be a need for it? Would anyone be interested?

To be honest, I don’t need a full-featured page builder, I only need columns. I can put headings, paragraphs, images, custom HTML, code and shortcodes inside these columns. So f(x) Builder is ideal for me.


I am interested, and would use such a plugin for my customers’ sites and mine (I already use f(x) on some of my sites as I mentioned already, I use BB when I need to allow customers to design pages themselves because they find it easier but if I am to manage the site myself I started to prefer f(x) builder because I do not need all the elements that Beaver has).

Thanks for diving deep into this plugin and planning on porting it to CP!

1 Like

The first release (after forking) is live!

FX Builder

FX Builder (GitHub)

The main changes are a slight name change (it does not affect upgrade) from f(x) Builder to FX Builder, and PHP 8.3 compatibility.

The CSS is the same, everything else is the same.


I am going to test it and let you know on GH if I encounter any issues. Thanks!

1 Like

I uploaded the builder to a site I am building where f(x) was used and deleting the old version and uploading your fork went smoothly.

I think I will keep your fork on so that I can test it while you develop it, I think you should submit it to plugin directory so that updates are correctly shown in dashboard and taken care of by the directory (I use the directory integration plugin) and since the thing works out of the box me thinks that it’s worth submitting even if it is still early stages of the changes you want to make to it to modernize it.

Thanks! Like I said, I only fixed 3 deprecated PHP errors and updated the name.

I have already submitted it to the directory, I am waiting for approval.

I have also included my own updater. I will look into the integration plugin, but I’ll keep my updater for now, as I have more control over it, and I also have stats behind it, so I know how many users download/update the plugin.

In the coming days, I will create an extensive demo page, with all possible layouts, so I can play with the CSS without breaking anything.

1 Like

the directory integration is a plugin to allow direct install/updates from dashboard of CP plugins listed in directory (otherwise you have to go to directory site, sownload the plugin/theme and upload). with the plugin directory integration you have a page in your site with all the listings for themes and one for plugins, you can click install and have it installed directly. Devs update the release URL on directory listing when there’s a new release and people see the update on their sites (more or less).
I do not know if you can use the updater for plugins listed in the dir however, this is better asked to @MattyRob or @timkaye that know the inner workings of the directory.


@MattyRob @timkaye Is it okay if I use my own updater, as I have 10 other WordPress plugins and 2 themes, and this updater has been working flawlessly for the past 4 years?

@Simone - think you are probably better able to answer the question about plugin updater code.

Yes, it’s ok for our guidelines.
Please check to comply with this:

Plugins may not contact external servers without explicit and authorized opt-in consent from the user. Integration with update servers which allow plugins to update to new versions (such as Update Manager) is not included in this rule, but update services must not collect identifiable data.

1 Like

Looking at the update code, you can change this line to something like this (not tested):
'user-agent' => function_exists( 'classicpress_user_agent' ) ? classicpress_user_agent ( true ) : 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' ),
but it’s not mandatory.

As long as the Update Manager is doing its job, I might not need my updater. I am not collecting any PII data, I am only collecting the WordPress version.

My updater has been built for WordPress, and I see it’s still working with ClassicPress. In the future, if the update APIs will diverge, I will move @Simone 's Update Manager plugin.

Thank you all!

Yes, you are right, I will change that. My updater file is the same for all plugins, I just dropped it in, but I will definitely change it in the next version of FX Builder.

I think that you can stay with your updater. In the future the directory (it’s already working) will take care of all the updates.


The plugin has been rapidly updated in the past few days, and the front-end is now fully powered by Flex CSS (instead of the old, legacy float styles).

I have also added a full-width layout style.


Taking WordPress’ block editor, I only use 3 blocks (aside from single elements, such as paragraphs, headings, images, and so on). I use columns, covers and full-width sections. I don’t care about anything else. Groups are nice.

That’s where I want to take FX Builder. Everything else can be done using shortcodes or in-theme styling. I would say that there is a specific age group for ClassicPress developers, and I’m in it. I’m very comfortable designing stuff inside the theme, or using custom post types or metadata. Also, I am managing around 400 WordPress websites as part of my senior web developer role at a proptech company. 1% of my clients are actually using the block editor to manage/update/edit their website.

Ditching the block editor, ditching React and the thousands of JS/CSS requests per day for all our websites, would definitely improve our server speed.


Back to FX Builder, I am keeping it light, and I am now in the process of building a demo layout with everything it can do. It’s not much, as it’s just columns, but I want to add support for various classes (such as full-width), containers, per-column classes (for example, say I want the second out of 3 columns to have a background - I could easily do it with :nth-child(2) in the theme, but I want it native).

Also, I want to introduce a settings page with performance options, such as inlining the CSS.

Doing this would mean that FX Builder needs no external CSS resources. On my demo page, I only have one CSS files (which is the theme’s stylesheet). That’s a very welcome speed bump.

If you’re using FX Builder, show me what you’ve built with it.

3 Likes (Is a work in progress, styles might change since I am adapting to what I envision it to be, I started with this design but later on realized it doesn’t completely represent my company so I am in the process of focusing on some content (blog posts) to spice it up and see what inspiration I get from that to understand how I want to improve - the only sure thing is the color palette)
It is paired with shortcodes ultimate and might end up with some HTML sprinkled within columns.

I think you are very correct about what a page builder needs to be.