ACF Fluent is a fluent interface for the Advanced Custom Fields WordPress plugin. It enables theme developers to create custom field "queries" using an expressive, fluent interface that makes templating with ACF a breeze.
If you make heavy use of Advanced Custom Fields in your WordPress templates (you should), then you probably find yourself writing a lot of repetitive code just to print out your fields. For example, you might have a heading
field for your page's hero section:
<?php
$heading = get_field('heading');
if (is_null('heading')) {
$heading = get_the_title();
} else {
$heading = esc_html($heading);
}
?>
<h1><?= $heading ?></h1>
As you know, this type of template coding will clutter up your template files quickly, turning your well-structured HTML into a mess of PHP tags and blocks. The worst part is, you'll find yourself not only in a clutter of PHP logic, but repeating the same logic over and over!
ACF Fluent aims to minimize the mess with a fluent builder that lets you easily get and update fields and sub fields and add constraints along the way. Let's take a look at the same functionality above, using ACF Fluent:
<?php
use Samrap\Acf\Acf;
$heading = Acf::field('heading')
->default(get_the_title())
->escape()
->get();
?>
<h1><?= $heading ?></h1>
Interested? ACF Fluent packs a lot more features and has no dependencies. Check out the docs see all of the awesome features.
ACF Fluent is still in its early stages. Issues, PRs, and enhancement ideas are encouraged and appreciated.
Built by @thesamrapaport
The ACF logo is owned by Elliot Condon and the Advanced Custom Fields Plugin