Description
Build any number of options screens based on Custom Field Suite.
For Example
Begin by creating Field Group(s) you want to include on your options screen. Be sure to set NO Placement Rules. Once it’s created, note the post ID it uses. You can then register any number of options screens like so:
function my_cfs_options_screens( $screens ) {
$screens[] = array(
'name' => 'options',
'menu_title' => __( 'Site Options' ),
'page_title' => __( 'Customize Site Options' ),
'menu_position' => 100,
'icon' => 'dashicons-admin-generic', // optional, dashicons-admin-generic is the default
'field_groups' => array( 'My Field Group' ), // Field Group name(s) of CFS Field Group to use on this page (can also be post IDs)
);
return $screens;
}
add_filter( 'cfs_options_screens', 'my_cfs_options_screens' );
Retrieve your options like so:
$value = cfs_get_option( 'options_screen_name', 'cfs_field_name_from_field_group' );
You can set up multiple top level and/or children options pages by adding a parent
argument when registering your screen:
function my_cfs_options_screens( $screens ) {
// Parent
$screens[] = array(
'name' => 'options',
'field_groups' => array( 'My Parent Field Group Name' ),
);
// Child
$screens[] = array(
'name' => 'options-nav',
'parent' => 'options', // name of the parent
'field_groups' => array( 'My Child Field Group Name' ),
);
return $screens;
}
add_filter( 'cfs_options_screens', 'my_cfs_options_screens' );
You can also use CFS Options Screens to set up Field Group ‘defaults’, allowing a Field Group to appear both on a CFS Options Screen and a post edit screen. The CFS Options Screen will act as the default/fallback and the post edit screen will override those defaults.
function my_cfs_options_screens( $screens ) {
$screens[] = array(
'name' => 'options',
'menu_title' => __( 'Site Options' ),
'page_title' => __( 'Customize Site Options' ),
'menu_position' => 100,
'icon' => 'dashicons-admin-generic', // optional, dashicons-admin-generic is the default
'field_groups' => array(
array(
'title' => 'My CFS Field Group Name',
'has_overrides' => true,
),
),
);
return $screens;
}
add_filter( 'cfs_options_screens', 'my_cfs_options_screens' );
Check out the cfs_options_screens_override_note_default
and cfs_options_screens_override_note_override
filters to customize the messaging for CFS Options Screens overrides.
Installation
- Upload
cfs-options-screens
to the/wp-content/plugins/
directory - Activate the plugin through the ‘Plugins’ menu in WordPress
- Register your options screen(s) using the code snippets from this readme
FAQ
-
How do I add a Field Group to my options screen?
-
You must specify the Field Group Title(s) in the
field_groups
parameter when using thecfs_options_screens
hook -
How do I retrieve saved options?
-
$value = cfs_get_option( ‘options_screen_name’, ‘field_name_from_field_group’ );
Reviews
There are no reviews for this plugin.
Contributors & Developers
“CFS Options Screens” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “CFS Options Screens” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.2.7
- Add support for using CFS Field Group title instead of ID
1.2.5
- Better handling of overrides when not viewing a single post
1.2.4
- PHP Warning cleanup
1.2.3
- Fixed an issue that would output override note if any Field Group on an Options Screen had one
- Fixed an issue where multiple override notes would be output when there were multiple override Field Groups
1.2.1
- PHP Warning cleanup for
cfs_get_option
1.2
- Added support for Field Group defaults/overrides where a Field Group can appear both on a CFS Options Screen and a post edit screen, and ‘fall back’ to the CFS Options Screen where applicable
1.1.2
- Refined the arguments for the underlying CPT to hide it from the Admin menu, filterable with
cfs_options_screens_post_type_args
1.1.1
- Fixed an issue resulting in a change in WordPress 4.4 that prevented editing options screens
1.1
- Added new
cfs_get_options()
function to retrieve all CFS data for an options screen
1.0.3
- Fixed an issue in WordPress 4.3 where customized edit screen titles were not shown
1.0.2
- Only show ‘Saved’ update notice when editing an options screen
1.0.1
- Proper page title is now output when editing a screen
1.0
- Initial release