Clear the mess of WordPress development with Timber and ACF

View in another language:
Clear the mess of Wordpress development with Timber and ACF
Categories
Technologies
Author

Benoit Schneider

Managing Technical Director
Date

If you ask any back-end programmers that has been accustomed to the use of frameworks with languages like PHP, Java, Ruby or Python to use WordPress to build a website, they will inevitably end up decrying it and most would prefer to avoid having to use any kind of CMS. The reality is that WordPress is a often considered a mess by most serious programmers as it was not made to follow clean programming rules but to allow non-programmers to launch a blog easily. It then evolved into something with a broader purpose when tons of plugins got developed for WordPress, which now allows to transform a WordPress website into pretty much anything. All these sometimes buggy plugins can each had their own mess to what can become a labyrinthine system.

What is WordPress?

All websites are built with the same technologies, those that run in the browser, which are HTML and CSS, the skeleton and styling of web pages. Many websites are actually static and directly built with those, other are dynamic and allow users to update their content through an admin panel, the content being saved in a database.

WordPress offers such an admin panel, it is a free and open-source content management system (CMS) based on the PHP programming language and MySQL database. The technologies it uses are simple and broadly available on most web servers, which makes it easy to install pretty much anywhere on the internet.

To paraphrase (supposedly) Churchill, though, “WordPress is the worst bogging system… except for all the others”, and there are reasons why WordPress is now powering 30% of all websites. and is reportedly the most popular website management or blogging system in use on the Web today, supporting more than 60 million websites.

Use cases for WordPress

At Outsourcify, we tend to think they are some cases when it makes sense to use WordPress and sometimes it’s better to use an alternative solution, most likely a custom developed web application. WordPress is a good choice when it at the same time simplifies the development of the website and the eases its update by its final users. The main reason to use WordPress is it’s user friendly admin panel that allows users to add and edit content easily, especially it’s well conceived Media Library.
Nearly any website or web application concept could be built with WordPress as the CMS (Content Management System) but from the moment some of the requirements would require to create enormous plugins or hack existing plugins, WordPress is to be avoided.

WordPress is fit for corporate websites displaying pages, articles and any kind of content that can be displayed through the same page templates. With the help of WooCommerce, online shops, if they keep to the usual features of classic e-commerce, can also be created effectively with WordPress, and much cheaper and with a custom solution.

MVC development with WordPress

Now in any case, if WordPress is chosen, there are some ways to improve WordPress that here at Outsourcify we consider to be mandatory, the first one is bring the Model–view–controller (MVC) architectural pattern to WordPress simply by separating the controllers (PHP scripts) from the view (templates) and add features to allow to update the data model. It’s as simple as installing 2 plugins : Timber and ACF.

Timber providing the Twig templating engine

WordPress still doesn’t come with any templating system after all those years (it was created in 2003!), it means PHP code is intertwined with HTML, which considered bad programming for a reason. As a WordPress custom theme builder, our priority at Outsourcify is to fix this and it happens that there is a plugin to add templating to WordPress : Timber. The fact Timber introduces the Twig templating engine can only satisfy us as it is maintained by the team behind the Symfony, our PHP framework of choice when we code custom web applications.

The official WordPress theme development recommendations and the themes provided with WordPress (Twenty Ten, Twenty Eleven, Twenty Twelve) offer to get and display information in the same files. They don’t encourage separating core site functionalities to a plugin. So what you usually end up doing are cryptic loop constructions and a gigantic functions.php file. Timber brings some development principles from the Model–view–controller (MVC) architectural pattern to WordPress simply by separating the controllers (PHP scripts) from the view (Twig templates). It’s as simple as installing the plugin to make your custom themes much cleaner.

A real CMS with custom posts and ACF (Advanced Custom Fields)

The “Model” in MVC stands for data as in database, how the information is stored connected together. WordPress offers by default blog entries and pages as it is originally a blogging system. To add new data types in WordPress we use custom posts, which are called entities or objects in other programming systems. Custom posts are not enough as they are basically copies of the blog entry, with the same basic fields : title, content, author etc.

The ACF plugin allows to add other types of fields to our entities : text, images, urls, links, whatever information is needed to defined an entity. The free version of ACF is enough for most cases but it should be noted that the PRO version gives a few very useful additional data types, the “repeater”, “gallery” or “flexible content” fields are a must.

It’s not the purpose of this article to explain in details how to use both of these plugins, you can easily find tutorials on how to use them, the best being to start with their documentation :

By using some of the principles of the MVC design pattern, we’re not saying WordPress now becomes a full fledged MVC framework, but it’s getting closer to it, WP theme developers can now center around each concern each one by one – defining the information in the model, data retrieval and processing in the controllers, and lastly displaying the data in the templates. Separating these 3 different concerns makes development much more quicker, adaptable, maintainable and most of all fun.

Benoit Schneider · Managing Technical Director

After studying to become a Web Engineer at the UTBM in France, Benoit experienced working in various IT departments of large companies in Paris as a web developer then as a project manager before becoming a freelance web consultant in 2010, and finally co-founded Outsourcify in Thailand.

Have a project in mind?
Let's start your project today

Contact Us
Have a project in mind?
Let's start your project today

Related blog articles

Technologies

Building AcadAsia: A Technical Deep Dive into Thailand’s International School Advisory Platform

February 11, 2026

Building AcadAsia: A Technical Deep Dive into Thailand’s International School Advisory Platform
Building AcadAsia: A Technical Deep Dive into Thailand’s International School Advisory Platform
Technologies

How to Choose the Right WordPress Agency: Beyond the Sales Pitch

January 20, 2026

How to Choose the Right WordPress Agency: Beyond the Sales Pitch
How to Choose the Right WordPress Agency: Beyond the Sales Pitch
Technologies

Our Headless WordPress Journey with Astro.js and Vue.js

September 2, 2025

Our Headless WordPress Journey with Astro.js and Vue.js
Our Headless WordPress Journey with Astro.js and Vue.js
Technologies

AI Is Reshaping Web Development — But Not in the Way People Think

March 18, 2026

AI Is Reshaping Web Development — But Not in the Way People Think
AI Is Reshaping Web Development — But Not in the Way People Think
Technologies

Will AI Replace Developers? A Reality Check From the Field

March 11, 2026

Will AI Replace Developers? A Reality Check From the Field
Will AI Replace Developers? A Reality Check From the Field
Technologies

Teaching AI and Software Development at Chulalongkorn University: A Two-Hour Conversation That Went Well Beyond the Slides

February 23, 2026

Teaching AI and Software Development at Chulalongkorn University: A Two-Hour Conversation That Went Well Beyond the Slides
Teaching AI and Software Development at Chulalongkorn University: A Two-Hour Conversation That Went Well Beyond the Slides
Technologies

Skipping Figma Doesn’t Mean Skipping Design

February 18, 2026

Skipping Figma Doesn’t Mean Skipping Design
Skipping Figma Doesn’t Mean Skipping Design
Technologies

Vibe Coding Rescue: From MVP to Scalable Platform

February 15, 2026

Vibe Coding Rescue: From MVP to Scalable Platform
Vibe Coding Rescue: From MVP to Scalable Platform
Technologies

Astro Joins Cloudflare: The New Standard for High-Performance Web Architecture

December 14, 2025

Astro Joins Cloudflare: The New Standard for High-Performance Web Architecture
Astro Joins Cloudflare: The New Standard for High-Performance Web Architecture
Technologies

WooCommerce vs Shopify: Which Platform Fits Your Project?

November 21, 2025

WooCommerce vs Shopify: Which Platform Fits Your Project?
WooCommerce vs Shopify: Which Platform Fits Your Project?
Resources

Building a B2B Product: Laying the Right Foundations from Day One

September 29, 2025

Building a B2B Product: Laying the Right Foundations from Day One
Building a B2B Product: Laying the Right Foundations from Day One
Technologies

A ResTech MVP in 1 Month

September 19, 2025

A ResTech MVP in 1 Month
A ResTech MVP in 1 Month
Resources

Why Taking Over a Development Project Is Always a Challenge

August 11, 2025

Why Taking Over a Development Project Is Always a Challenge
Why Taking Over a Development Project Is Always a Challenge
Technologies

From Vibe-Coded Prototype to Production-Ready: How Client Mockups Accelerate Our Work

August 5, 2025

From Vibe-Coded Prototype to Production-Ready: How Client Mockups Accelerate Our Work
From Vibe-Coded Prototype to Production-Ready: How Client Mockups Accelerate Our Work
Technologies

Outsourcify’s 2025 Tech Stack Driving Digital Excellence

August 4, 2025

Outsourcify’s 2025 Tech Stack Driving Digital Excellence
Outsourcify’s 2025 Tech Stack Driving Digital Excellence
Outsourcify Story

What Our Clients Say About Us: A Look at Outsourcify’s Google Reviews

July 30, 2025

What Our Clients Say About Us: A Look at Outsourcify’s Google Reviews
What Our Clients Say About Us: A Look at Outsourcify’s Google Reviews
Outsourcify Story

The Agency Developer: Beyond the Code

July 14, 2025

The Agency Developer: Beyond the Code
The Agency Developer: Beyond the Code
Resources

A Website Is Non-Negotiable in 2025 — But Its Content May Be Training AI

July 9, 2025

A Website Is Non-Negotiable in 2025 — But Its Content May Be Training AI
A Website Is Non-Negotiable in 2025 — But Its Content May Be Training AI
Resources

SaaS Tools Annual Cost Comparison for a 35-User Team – and What You Can Learn from Our Journey

June 11, 2025

SaaS Tools Annual Cost Comparison for a 35-User Team – and What You Can Learn from Our Journey
SaaS Tools Annual Cost Comparison for a 35-User Team – and What You Can Learn from Our Journey
Technologies

Recent Projects at Outsourcify: A Behind-the-Scenes Series

June 2, 2025

Recent Projects at Outsourcify: A Behind-the-Scenes Series
Recent Projects at Outsourcify: A Behind-the-Scenes Series
Resources

A Guide to Thailand’s Online Payment Gateways

May 4, 2025

A Guide to Thailand’s Online Payment Gateways
A Guide to Thailand’s Online Payment Gateways
Technologies

10 Programming Practices Worth Rethinking

April 29, 2025

10 Programming Practices Worth Rethinking
10 Programming Practices Worth Rethinking
Outsourcify Story

The Outsourcify Story #1: Lessons from a decade in Web Development

March 23, 2025

The Outsourcify Story #1: Lessons from a decade in Web Development
The Outsourcify Story #1: Lessons from a decade in Web Development
Technologies

Outsourcify partners with Sisense: the Power of Business Intelligence

February 16, 2025

Outsourcify partners with Sisense: the Power of Business Intelligence
Outsourcify partners with Sisense: the Power of Business Intelligence
Technologies

The 8 Archetypes of Software Engineers Every Team Needs (And How to Harness Their Superpowers)

February 6, 2025

The 8 Archetypes of Software Engineers Every Team Needs (And How to Harness Their Superpowers)
The 8 Archetypes of Software Engineers Every Team Needs (And How to Harness Their Superpowers)
Outsourcify Website

Eco-friendly and Accessible Websites: Building a Sustainable Digital Future

December 10, 2024

Eco-friendly and Accessible Websites: Building a Sustainable Digital Future
Eco-friendly and Accessible Websites: Building a Sustainable Digital Future
Technologies

The impact of API-centric approaches on software development

November 27, 2024

The impact of API-centric approaches on software development
The impact of API-centric approaches on software development
Technologies

How to know you can trust a web agency: A practical guide

November 15, 2024

How to know you can trust a web agency: A practical guide
How to know you can trust a web agency: A practical guide
Technologies

Who’s watching? A guide to privacy on websites and protecting your data

November 14, 2024

Who’s watching? A guide to privacy on websites and protecting your data
Who’s watching? A guide to privacy on websites and protecting your data
Technologies

Understanding the differences between MVP and MMP for smarter product development

November 13, 2024

Understanding the differences between MVP and MMP for smarter product development
Understanding the differences between MVP and MMP for smarter product development
Technologies

The top 3 strategic pitfalls that can derail a tech startup

November 8, 2024

The top 3 strategic pitfalls that can derail a tech startup
The top 3 strategic pitfalls that can derail a tech startup
Technologies

How to avoid AI project failures: lessons from automation

November 7, 2024

How to avoid AI project failures: lessons from automation
How to avoid AI project failures: lessons from automation
Technologies

The top 3 pitfalls facing CTOs and how to overcome them

October 31, 2024

The top 3 pitfalls facing CTOs and how to overcome them
The top 3 pitfalls facing CTOs and how to overcome them
Technologies

How do we extract the needs of a startup in the context of a Define Scope – Requirements Workshop?

October 29, 2024

How do we extract the needs of a startup in the context of a Define Scope – Requirements Workshop?
How do we extract the needs of a startup in the context of a Define Scope – Requirements Workshop?
Technologies

The vital role of a product owner in your web project

October 25, 2024

The vital role of a product owner in your web project
The vital role of a product owner in your web project
Technologies

How to choose a web agency: Top platforms to help you find a reliable partner

October 15, 2024

How to choose a web agency: Top platforms to help you find a reliable partner
How to choose a web agency: Top platforms to help you find a reliable partner
Technologies

The breadth of expertise required for Web Development

October 9, 2024

The breadth of expertise required for Web Development
The breadth of expertise required for Web Development
Technologies

Running daily, a day early: cron jobs for everyone

October 7, 2024

Running daily, a day early: cron jobs for everyone
Running daily, a day early: cron jobs for everyone
Company Activities

Behind the scenes: Triple baby party & reflecting on our company’s sociology

October 4, 2024

Behind the scenes: Triple baby party & reflecting on our company’s sociology
Behind the scenes: Triple baby party & reflecting on our company’s sociology
Technologies

Caching: Our number one suspect

August 9, 2024

Caching: Our number one suspect
Caching: Our number one suspect
Technologies

What is a database and how do you choose one for your web application project?

June 18, 2024

What is a database and how do you choose one for your web application project?
What is a database and how do you choose one for your web application project?
Technologies

Outsourcify’s expertise with the Astro framework

June 11, 2024

Outsourcify’s expertise with the Astro framework
Outsourcify’s expertise with the Astro framework
Technologies

What is an API and how does Outsourcify use them?

May 22, 2024

What is an API and how does Outsourcify use them?
What is an API and how does Outsourcify use them?
Technologies

Which LLMs are we using to facilitate the development at Outsourcify?

May 10, 2024

Which LLMs are we using to facilitate the development at Outsourcify?
Which LLMs are we using to facilitate the development at Outsourcify?
Technologies

Integrating an AI service for Real Estate

January 19, 2024

Integrating an AI service for Real Estate
Integrating an AI service for Real Estate
Technologies

User Interface(UI) design process, before & after.

January 14, 2021

User Interface(UI) design process, before & after.
User Interface(UI) design process, before & after.
Technologies

Why and how to migrate from Drupal to WordPress?

November 13, 2020

Why and how to migrate from Drupal to WordPress?
Why and how to migrate from Drupal to WordPress?
Resources

How to achieve 100 on PageSpeed Insights

May 3, 2019

How to achieve 100 on PageSpeed Insights
How to achieve 100 on PageSpeed Insights
Outsourcify Website

Why would you use WordPress for a corporate website in 2019?

March 17, 2019

Why would you use WordPress for a corporate website in 2019?
Why would you use WordPress for a corporate website in 2019?
Technologies

Creating your own blocks in Gutenberg with ACF

January 26, 2019

Creating your own blocks in Gutenberg with ACF
Creating your own blocks in Gutenberg with ACF
Technologies

How will the new version 5 and the Gutenberg editor impact your WordPress website?

December 5, 2018

How will the new version 5 and the Gutenberg editor impact your WordPress website?
How will the new version 5 and the Gutenberg editor impact your WordPress website?