Last active
August 25, 2020 21:49
-
-
Save renventura/4f0e2bffd9ff04a105d6 to your computer and use it in GitHub Desktop.
Add metabox to Genesis theme options
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 //* 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