acf-fluent icon indicating copy to clipboard operation
acf-fluent copied to clipboard

✒️ A fluent interface for the Advanced Custom Fields WordPress plugin

Build Status Code Quality Packagist Version MIT License

Are you using ACF Fluent?

ACF Fluent is almost at 8000 downloads, which I think is pretty cool! I mean, it's not a ton of downloads, but cool nonetheless. If you're using it, I would love to hear your feedback. Shoot me an email and let me know what kind of projects you've used it on :). While I'm not working on it actively at this time, I'm still happy to maintain it.

What is ACF Fluent?

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.

Why?

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.

Documentation

  • Basic Usage
  • Builder Methods
  • Updating Fields
  • Macros

Contributing

ACF Fluent is still in its early stages. Issues, PRs, and enhancement ideas are encouraged and appreciated.


Tweeter Built by @thesamrapaport, samrapaport.com

The ACF logo is owned by Elliot Condon and the Advanced Custom Fields Plugin