=== CFS Options Screens === Contributors: jchristopher Donate link: http://mondaybynoon.com/donate/ Tags: CFS, Custom Field Suite, Options, Settings, Screen Requires at least: 3.9 Tested up to: 5.9.0 Stable tag: 1.2.7 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Create options screens that utilize Custom Field Suite == Description == Build any number of options screens based on [Custom Field Suite](http://wordpress.org/plugins/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 == 1. Upload `cfs-options-screens` to the `/wp-content/plugins/` directory 1. Activate the plugin through the 'Plugins' menu in WordPress 1. Register your options screen(s) using the code snippets from this readme == Frequently Asked Questions == = 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 the `cfs_options_screens` hook = How do I retrieve saved options? = `$value = cfs_get_option( 'options_screen_name', 'field_name_from_field_group' );` == 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