nusserstudios / acf-fluent

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status Code Quality Packagist Version MIT License

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

Contributing

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


Tweeter Built by @thesamrapaport

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

About

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

License:MIT License


Languages

Language:PHP 100.0%