Created
January 8, 2016 23:37
-
-
Save craigsimps/4ee7f25901b2956260bc to your computer and use it in GitHub Desktop.
Example adding a meta box to CPT Archive Settings page, saving and loading values.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
add_filter( 'genesis-cpt-archive-snippet', 'cs_add_additional_field' ); | |
/** | |
* Add additional field to the Genesis CPT Archive Settings array for snippet post type. | |
* | |
* @param array $default_settings | |
* @return array modified default_settings | |
* | |
*/ | |
function cs_add_additional_field( $default_settings ) { | |
$default_settings['additional_field_name'] = ''; | |
return $default_settings; | |
} | |
add_action( 'genesis_settings_sanitizer_init', 'cs_register_additional_sanitization_filters' ); | |
/** | |
* Add Sanitization using Genesis Add Option Filter | |
*/ | |
function cs_register_additional_sanitization_filters() { | |
genesis_add_option_filter( 'no_html', 'genesis-cpt-archive-settings-snippet', | |
array( | |
'additional_field_name', | |
) ); | |
} | |
add_action('genesis_cpt_archives_settings_metaboxes', 'cs_register_additional_settings_box'); | |
/** | |
* Register Additional Metabox | |
* | |
* @param string $_genesis_theme_settings_pagehook | |
*/ | |
function cs_register_additional_settings_box( $_genesis_theme_settings_pagehook ) { | |
if ( 'snippet_page_genesis-cpt-archive-snippet' !== $_genesis_theme_settings_pagehook ) { | |
return; | |
} | |
add_meta_box('cs-additional-settings', 'Additional Settings Box', 'cs_additional_settings_box', $_genesis_theme_settings_pagehook, 'main', 'high'); | |
} | |
/** | |
* Create Metabox function, called from cs_register_additional_settings_box | |
*/ | |
function cs_additional_settings_box() { | |
?> | |
<p>Additional Field:<br /> | |
<input type="text" name="genesis-cpt-archive-settings-snippet[additional_field_name]" value="<?php echo esc_attr( genesis_get_option('additional_field_name', 'genesis-cpt-archive-settings-snippet') ); ?>" size="50" /> </p> | |
<?php | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment