'footer-copyright')); add_settings_field('footer-text', __('Footer Text', 'betheme'), 'be_settings_field_footer_text', 'theme_options', 'footer', array('label_for' => 'footer-text')); } add_action('admin_init', 'be_theme_options_init'); /** * change capability to save be_options */ function be_options_page_capability($capability) { return 'edit_theme_options'; } add_filter('option_page_capability_be_options', 'be_options_page_capability'); /** * Add options page */ function be_theme_options_add_page() { $theme_page = add_theme_page( __('Theme Options', 'betheme'), // name of page __('Theme Options', 'betheme'), // label in menu 'edit_theme_options', // capability required 'theme_options', // unique menu slug 'be_theme_options_render_page' // render function ); if (!$theme_page) return; add_action("load-$theme_page", 'be_theme_options_help'); } add_action('admin_menu', 'be_theme_options_add_page'); /** * @betodo: add options page help tabs */ function be_theme_options_help() { } /** * returns an array of layout options */ function be_layouts() { $layout_options = array( 'content-sidebar' => array( 'value' => 'content-sidebar', 'label' => __('Content on left', 'betheme'), 'thumbnail' => get_template_directory_uri() . '/includes/images/content-sidebar.png' ), 'sidebar-content' => array( 'value' => 'sidebar-content', 'label' => __('Content on right', 'betheme'), 'thumbnail' => get_template_directory_uri() . '/includes/images/sidebar-content.png' ), 'content' => array( 'value' => 'content', 'label' => __('One-column, no sidebar', 'betheme'), 'thumbnail' => get_template_directory_uri() . '/includes/images/content.png' ) ); return apply_filters('be_layouts', $layout_options); } /** * return default theme options */ function be_get_default_theme_options() { $default_theme_options = array( 'logo' => '', 'color_scheme' => '', 'link_color' => '', 'link_color_hover' => '', 'theme_layout' => 'content-sidebar', 'footer_copyright' => 'Copyright © 2012 ' . get_bloginfo('name') . '', 'footer_text' => 'Powered by WordPress' ); return apply_filters('be_default_theme_options', $default_theme_options); } /** * @return array of theme options */ function be_get_theme_options() { return get_option('be_theme_options', be_get_default_theme_options()); } /** * render the default layout setting field */ function be_settings_field_layout() { $options = be_get_theme_options(); foreach (be_layouts() as $layout): ?>