Skip to content

Instantly share code, notes, and snippets.

@trishasalas
Created January 18, 2016 00:14
Show Gist options
  • Save trishasalas/455a09ec458bb00be4c4 to your computer and use it in GitHub Desktop.
Save trishasalas/455a09ec458bb00be4c4 to your computer and use it in GitHub Desktop.
<?php
class Multisite_Directory_Settings {
function __construct() {
add_action( 'admin_menu', array( $this, 'ms_dir_add_admin_menu' ) );
add_action( 'admin_init', array( $this, 'ms_dir_settings_init' ) );
}
function ms_dir_add_admin_menu( ) {
add_options_page( 'Multisite Directory', 'Multisite Directory', 'manage_options', 'multisite-directory', array( $this, 'multisite_directory_options_page' ) );
}
function ms_dir_settings_init( ) {
register_setting( 'multisite-directory-page', 'ms_dir_settings' );
add_settings_section( 'ms_dir_section', __( '', 'multisite-directory' ), array( $this, 'ms_dir_settings_section_callback' ), 'multisite-directory-page');
add_settings_field(
'page_title_text_field',
__( 'Page Title', 'multisite-directory' ),
array( $this, 'page_title_text_field_render' ),
'multisite-directory-page',
'ms_dir_section'
);
add_settings_field(
'site_feed_checkbox',
__( 'Show Posts Feed', 'multisite-directory' ),
array( $this, 'site_feed_checkbox_render' ),
'multisite-directory-page',
'ms_dir_section'
);
add_settings_field(
'comments_checkbox',
__( 'Show Comments Feed', 'multisite-directory' ),
array( $this, 'comments_checkbox_render' ),
'multisite-directory-page',
'ms_dir_section'
);
}
function page_title_text_field_render( ) {
$options = get_option( 'ms_dir_settings' );
?>
<input type='text' name='ms_dir_settings[page_title_text_field]' value='<?php echo $options['page_title_text_field']; ?>'>
<?php
}
function site_feed_checkbox_render( ) {
$options = get_option( 'ms_dir_settings' );
?>
<input type='checkbox' name='ms_dir_settings[site_feed_checkbox]' <?php checked( $options['site_feed_checkbox'], 1 ); ?> value='1'>
<?php
}
function comments_checkbox_render( ) {
$options = get_option( 'ms_dir_settings' );
?>
<input type='checkbox' name='ms_dir_settings[comments_checkbox]' <?php checked( $options['comments_checkbox'], 1 ); ?> value='1'>
<?php
}
function ms_dir_settings_section_callback( ) {
echo __( '', 'multisite-directory' );
}
function multisite_directory_options_page( ) {
?>
<form action='options.php' method='post'>
<h2>Multisite Directory Page Settings</h2>
<?php
settings_fields( 'multisite-directory-page' );
do_settings_sections( 'multisite-directory-page' );
submit_button();
?>
</form>
<?php
}
}
new Multisite_Directory_Settings;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment