We'll create fresh WordPress site with Advanced Custom Fields : CPT Options Pages installed. You have 20 minutes to test the plugin after that site we'll be deleted.
Small addon for ACF Options. Adds ACF location for each custom post type.
New feature in the major version 2!
Important!
After update to v2+ you must reconnect Field Groups to Options Pages
Now you can activate/deactivate CPTs and create custom options pages for each CPT.
By default, options pages are activated for all custom post types.
The default functions of ACF plugin (get_field, the_field, etc.
) can be used to load values from a CPT Options Pages, but second parameter is required to target the CPT options.
This is similar to passing through a $post_id
parameter to target a specific post object.
The $post_id
parameter needed is a string containing the cpt_
and CPT name in the following format; "cpt_{CPT_NAME}"
and for subpages you can copy generated ID while creating subpages.
In examples Custom Post Type name is
projects
.
So, let’s go!
Display a field
<p><?php the_field('field_name', 'cpt_projects'); ?></p>
and the subpage’s field
<p><?php the_field('field_name', 'cpt_projects_testpage'); ?></p>
Retrieve a field
<?php
$field = get_field('field_name', 'cpt_projects');
// do something with $field
?>
Display a sub field
<?php if( have_rows('repeater_name', 'cpt_projects') ): ?>
<ul>
<?php while( have_rows('repeater_name', 'cpt_projects') ): the_row(); ?>
<li><?php the_sub_field('the_title'); ?></li>
<?php endwhile; ?>
</ul>
<?php endif; ?>
Display with shortcode
[acf field="field_name" post_id="cpt_projects"]
Please read documentation about shortcodes with ACF
function cpt_projects_customize($cptmenu) {
$cptmenu['page_title'] = 'Dev Custom title';
$cptmenu['menu_title'] = 'Dev Custom title';
return $cptmenu;
}
add_filter('cpt_projects_acf_page_args', 'cpt_projects_customize');
Don’t forget to replace cpt_projects_
to your custom post type name 🙂
It works only for first level options pages, not for subpages.
Copyright (c) 2023, Tusko Trush
You must buy ACF PRO or ACF Options Page Addon.
qTranslate-XT
This plugin is compatible and has included ACF qTranslate.
Just enjoy!
qTranslate-X
If you are using Qtranslate-X, you must install ACF qTranslate.
WPML/Polylang
If you are using WPML or Polylang, you must add constant ICL_LANGUAGE_CODE
to post_id
,
for example: get_field('archive_title', 'cpt_projects_' . ICL_LANGUAGE_CODE)
.