Home › Forums › Backend Issues (wp-admin) › Create field type in theme (without plugin) › Reply To: Create field type in theme (without plugin)
I think I got it figured out… I ended up with the following file structure:
wp-content/
↳ themes/
↳ [theme]/
↳ acf/
↳ assets/
↳ css/
↳ [field].css
↳ js/
↳ [field].js
↳ fields/
↳ [field].php
↳ json/
↳ init.php
In init.php I’m setting the acf-json directory, and also including my fields:
add_action ( 'acf/include_field_types', 'acf_include_field_types' );
function include_field_types ( $version = false ) {
if ( $version == 5 ) {
foreach ( ( array ) glob ( get_template_directory() . '/acf/fields/*.php' ) as $field ) {
include $field;
}
}
}
Then, in the field class that extends acf_field
, I just removed $settings
from the __construct()
call and defined them in the $this->settings
variable:
$this->settings = array (
'version' => '1.0.0',
'url' => get_template_directory_uri() . '/acf/',
'path' => get_template_directory() . '/acf/'
);
So going forward, I should just need to create new PHP, CSS and JS files for each field type. Hope this helps someone!
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users
Helping others is a great way to earn karma, gain badges and help ACF development!
We use cookies to offer you a better browsing experience, analyze site traffic and personalize content. Read about how we use cookies and how you can control them in our Privacy Policy. If you continue to use this site, you consent to our use of cookies.