Skip to content

Instantly share code, notes, and snippets.

@renventura
Last active August 25, 2020 21:49
Show Gist options
  • Save renventura/4f0e2bffd9ff04a105d6 to your computer and use it in GitHub Desktop.
Save renventura/4f0e2bffd9ff04a105d6 to your computer and use it in GitHub Desktop.
Add metabox to Genesis theme options
<?php //* Mind this opening PHP tag
/**
* Register custom Genesis theme settings
* The new setting will store the user's license key
*
* @param array $defaults Default theme settings
* @return array New default theme settings
*/
add_filter( 'genesis_theme_settings_defaults', 'prefix_add_genesis_theme_settings' );
function prefix_add_genesis_theme_settings( $defaults ) {
$defaults['prefix_license_key'] = '';
return $defaults;
}
/**
* Sanitize new Genesis settings
*/
add_action( 'genesis_settings_sanitizer_init', 'prefix_sanitize_custom_genesis_settings' );
function prefix_sanitize_custom_genesis_settings() {
genesis_add_option_filter( 'no_html', GENESIS_SETTINGS_FIELD, array( 'prefix_license_key' ) );
}
/**
* Add custom meta box(es) to Genesis Theme Settings page
*
* @param string $_genesis_theme_settings_pagehook
*/
add_action( 'genesis_theme_settings_metaboxes', 'prefix_genesis_meta_boxes' );
function prefix_genesis_meta_boxes( $_genesis_theme_settings_pagehook ) {
add_meta_box( 'prefix-genesis-settings', __( 'My Plugin\'s Settings', 'prefix' ), 'prefix_genesis_settings_meta_box_callback', $_genesis_theme_settings_pagehook, 'main', 'high' );
}
/**
* Render the meta box content/fields
*
* @see prefix_genesis_meta_boxes()
*/
function prefix_genesis_settings_meta_box_callback() { ?>
<p><?php _e( 'My Plugin License Key', 'prefix' );?><br />
<input type="text" name="<?php echo GENESIS_SETTINGS_FIELD; ?>[prefix_license_key]" value="<?php echo esc_url( genesis_get_option( 'prefix_license_key' ) ); ?>" size="60" /></p>
<?php }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment