343 lines
9.2 KiB
PHP
343 lines
9.2 KiB
PHP
<?php
|
|
/**
|
|
* A unique identifier is defined to store the options in the database and reference them from the theme.
|
|
*/
|
|
function optionsframework_option_name() {
|
|
// Change this to use your theme slug
|
|
return 'myoos';
|
|
}
|
|
|
|
/**
|
|
* Defines an array of options that will be used to generate the settings page and be saved in the database.
|
|
* When creating the 'id' fields, make sure to use all lowercase and no spaces.
|
|
*
|
|
* If you are making your theme translatable, you should replace 'theme-textdomain'
|
|
* with the actual text domain for your theme. Read more:
|
|
* http://codex.wordpress.org/Function_Reference/load_theme_textdomain
|
|
*/
|
|
|
|
function optionsframework_options() {
|
|
|
|
// Test data
|
|
$test_array = array(
|
|
'one' => __( 'One', 'myoos' ),
|
|
'two' => __( 'Two', 'myoos' ),
|
|
'three' => __( 'Three', 'myoos' ),
|
|
'four' => __( 'Four', 'myoos' ),
|
|
'five' => __( 'Five', 'myoos' )
|
|
);
|
|
|
|
// Multicheck Array
|
|
$multicheck_array = array(
|
|
'one' => __( 'French Toast', 'myoos' ),
|
|
'two' => __( 'Pancake', 'myoos' ),
|
|
'three' => __( 'Omelette', 'myoos' ),
|
|
'four' => __( 'Crepe', 'myoos' ),
|
|
'five' => __( 'Waffle', 'myoos' )
|
|
);
|
|
|
|
// Multicheck Defaults
|
|
$multicheck_defaults = array(
|
|
'one' => '1',
|
|
'five' => '1'
|
|
);
|
|
|
|
// Background Defaults
|
|
$background_defaults = array(
|
|
'color' => '',
|
|
'image' => '',
|
|
'repeat' => 'repeat',
|
|
'position' => 'top center',
|
|
'attachment'=>'scroll' );
|
|
|
|
// Typography Defaults
|
|
$typography_defaults = array(
|
|
'size' => '15px',
|
|
'face' => 'georgia',
|
|
'style' => 'bold',
|
|
'color' => '#bada55' );
|
|
|
|
// Typography Options
|
|
$typography_options = array(
|
|
'sizes' => array( '6','12','14','16','20' ),
|
|
'faces' => array( 'Helvetica Neue' => 'Helvetica Neue','Arial' => 'Arial' ),
|
|
'styles' => array( 'normal' => 'Normal','bold' => 'Bold' ),
|
|
'color' => false
|
|
);
|
|
|
|
// Pull all the categories into an array
|
|
$options_categories = array();
|
|
$options_categories_obj = get_categories();
|
|
foreach ($options_categories_obj as $category) {
|
|
$options_categories[$category->cat_ID] = $category->cat_name;
|
|
}
|
|
|
|
// Pull all tags into an array
|
|
$options_tags = array();
|
|
$options_tags_obj = get_tags();
|
|
foreach ( $options_tags_obj as $tag ) {
|
|
$options_tags[$tag->term_id] = $tag->name;
|
|
}
|
|
|
|
|
|
// Pull all the pages into an array
|
|
$options_pages = array();
|
|
$options_pages_obj = get_pages( 'sort_column=post_parent,menu_order' );
|
|
$options_pages[''] = 'Select a page:';
|
|
foreach ($options_pages_obj as $page) {
|
|
$options_pages[$page->ID] = $page->post_title;
|
|
}
|
|
|
|
// If using image radio buttons, define a directory path
|
|
$imagepath = get_template_directory_uri() . '/images/';
|
|
|
|
$options = array();
|
|
|
|
$options[] = array(
|
|
'name' => __( 'Basic Settings', 'myoos' ),
|
|
'type' => 'heading'
|
|
);
|
|
|
|
|
|
$options[] = array(
|
|
'name' => __('Do You want to display image slider on the Home Page?', 'myoos' ),
|
|
'desc' => __('Check if you want to enable slider', 'myoos' ),
|
|
'id' => 'myoos_slider_checkbox',
|
|
'std' => 0,
|
|
'type' => 'checkbox'
|
|
);
|
|
|
|
$options[] = array(
|
|
'name' => esc_html__('Slider Category', 'myoos'),
|
|
'desc' => esc_html__('Select a category for the featured post slider', 'myoos'),
|
|
'id' => 'myoos_slide_categories',
|
|
'type' => 'select',
|
|
'class' => 'hidden',
|
|
'options' => $options_categories
|
|
);
|
|
|
|
$options[] = array(
|
|
'name' => esc_html__('Number of slide items', 'myoos'),
|
|
'desc' => esc_html__('Enter the number of slide items', 'myoos'),
|
|
'id' => 'myoos_slide_number',
|
|
'std' => '3',
|
|
'class' => 'hidden',
|
|
'type' => 'text'
|
|
);
|
|
|
|
|
|
|
|
$options[] = array(
|
|
'name' => __( 'Input Text Mini', 'myoos' ),
|
|
'desc' => __( 'A mini text input field.', 'myoos' ),
|
|
'id' => 'example_text_mini',
|
|
'std' => 'Default',
|
|
'class' => 'mini',
|
|
'type' => 'text'
|
|
);
|
|
|
|
$options[] = array(
|
|
'name' => __( 'Input Text', 'myoos' ),
|
|
'desc' => __( 'A text input field.', 'myoos' ),
|
|
'id' => 'example_text',
|
|
'std' => 'Default Value',
|
|
'type' => 'text'
|
|
);
|
|
|
|
$options[] = array(
|
|
'name' => __( 'Input with Placeholder', 'myoos' ),
|
|
'desc' => __( 'A text input field with an HTML5 placeholder.', 'myoos' ),
|
|
'id' => 'example_placeholder',
|
|
'placeholder' => 'Placeholder',
|
|
'type' => 'text'
|
|
);
|
|
|
|
$options[] = array(
|
|
'name' => __( 'Textarea', 'myoos' ),
|
|
'desc' => __( 'Textarea description.', 'myoos' ),
|
|
'id' => 'example_textarea',
|
|
'std' => 'Default Text',
|
|
'type' => 'textarea'
|
|
);
|
|
|
|
$options[] = array(
|
|
'name' => __( 'Input Select Small', 'myoos' ),
|
|
'desc' => __( 'Small Select Box.', 'myoos' ),
|
|
'id' => 'example_select',
|
|
'std' => 'three',
|
|
'type' => 'select',
|
|
'class' => 'mini', //mini, tiny, small
|
|
'options' => $test_array
|
|
);
|
|
|
|
$options[] = array(
|
|
'name' => __( 'Input Select Wide', 'myoos' ),
|
|
'desc' => __( 'A wider select box.', 'myoos' ),
|
|
'id' => 'example_select_wide',
|
|
'std' => 'two',
|
|
'type' => 'select',
|
|
'options' => $test_array
|
|
);
|
|
|
|
if ( $options_categories ) {
|
|
$options[] = array(
|
|
'name' => __( 'Select a Category', 'myoos' ),
|
|
'desc' => __( 'Passed an array of categories with cat_ID and cat_name', 'myoos' ),
|
|
'id' => 'example_select_categories',
|
|
'type' => 'select',
|
|
'options' => $options_categories
|
|
);
|
|
}
|
|
|
|
if ( $options_tags ) {
|
|
$options[] = array(
|
|
'name' => __( 'Select a Tag', 'options_check' ),
|
|
'desc' => __( 'Passed an array of tags with term_id and term_name', 'options_check' ),
|
|
'id' => 'example_select_tags',
|
|
'type' => 'select',
|
|
'options' => $options_tags
|
|
);
|
|
}
|
|
|
|
$options[] = array(
|
|
'name' => __( 'Select a Page', 'myoos' ),
|
|
'desc' => __( 'Passed an pages with ID and post_title', 'myoos' ),
|
|
'id' => 'example_select_pages',
|
|
'type' => 'select',
|
|
'options' => $options_pages
|
|
);
|
|
|
|
$options[] = array(
|
|
'name' => __( 'Input Radio (one)', 'myoos' ),
|
|
'desc' => __( 'Radio select with default options "one".', 'myoos' ),
|
|
'id' => 'example_radio',
|
|
'std' => 'one',
|
|
'type' => 'radio',
|
|
'options' => $test_array
|
|
);
|
|
|
|
$options[] = array(
|
|
'name' => __( 'Example Info', 'myoos' ),
|
|
'desc' => __( 'This is just some example information you can put in the panel.', 'myoos' ),
|
|
'type' => 'info'
|
|
);
|
|
|
|
$options[] = array(
|
|
'name' => __( 'Input Checkbox', 'myoos' ),
|
|
'desc' => __( 'Example checkbox, defaults to true.', 'myoos' ),
|
|
'id' => 'example_checkbox',
|
|
'std' => '1',
|
|
'type' => 'checkbox'
|
|
);
|
|
|
|
$options[] = array(
|
|
'name' => __( 'Advanced Settings', 'myoos' ),
|
|
'type' => 'heading'
|
|
);
|
|
|
|
$options[] = array(
|
|
'name' => __( 'Check to Show a Hidden Text Input', 'myoos' ),
|
|
'desc' => __( 'Click here and see what happens.', 'myoos' ),
|
|
'id' => 'example_showhidden',
|
|
'type' => 'checkbox'
|
|
);
|
|
|
|
$options[] = array(
|
|
'name' => __( 'Hidden Text Input', 'myoos' ),
|
|
'desc' => __( 'This option is hidden unless activated by a checkbox click.', 'myoos' ),
|
|
'id' => 'example_text_hidden',
|
|
'std' => 'Hello',
|
|
'class' => 'hidden',
|
|
'type' => 'text'
|
|
);
|
|
|
|
$options[] = array(
|
|
'name' => __( 'Uploader Test', 'myoos' ),
|
|
'desc' => __( 'This creates a full size uploader that previews the image.', 'myoos' ),
|
|
'id' => 'example_uploader',
|
|
'type' => 'upload'
|
|
);
|
|
|
|
$options[] = array(
|
|
'name' => "Example Image Selector",
|
|
'desc' => "Images for layout.",
|
|
'id' => "example_images",
|
|
'std' => "2c-l-fixed",
|
|
'type' => "images",
|
|
'options' => array(
|
|
'1col-fixed' => $imagepath . '1col.png',
|
|
'2c-l-fixed' => $imagepath . '2cl.png',
|
|
'2c-r-fixed' => $imagepath . '2cr.png'
|
|
)
|
|
);
|
|
|
|
$options[] = array(
|
|
'name' => __( 'Example Background', 'myoos' ),
|
|
'desc' => __( 'Change the background CSS.', 'myoos' ),
|
|
'id' => 'example_background',
|
|
'std' => $background_defaults,
|
|
'type' => 'background'
|
|
);
|
|
|
|
$options[] = array(
|
|
'name' => __( 'Multicheck', 'myoos' ),
|
|
'desc' => __( 'Multicheck description.', 'myoos' ),
|
|
'id' => 'example_multicheck',
|
|
'std' => $multicheck_defaults, // These items get checked by default
|
|
'type' => 'multicheck',
|
|
'options' => $multicheck_array
|
|
);
|
|
|
|
$options[] = array(
|
|
'name' => __( 'Colorpicker', 'myoos' ),
|
|
'desc' => __( 'No color selected by default.', 'myoos' ),
|
|
'id' => 'example_colorpicker',
|
|
'std' => '',
|
|
'type' => 'color'
|
|
);
|
|
|
|
$options[] = array( 'name' => __( 'Typography', 'myoos' ),
|
|
'desc' => __( 'Example typography.', 'myoos' ),
|
|
'id' => "example_typography",
|
|
'std' => $typography_defaults,
|
|
'type' => 'typography'
|
|
);
|
|
|
|
$options[] = array(
|
|
'name' => __( 'Custom Typography', 'myoos' ),
|
|
'desc' => __( 'Custom typography options.', 'myoos' ),
|
|
'id' => "custom_typography",
|
|
'std' => $typography_defaults,
|
|
'type' => 'typography',
|
|
'options' => $typography_options
|
|
);
|
|
|
|
$options[] = array(
|
|
'name' => __( 'Text Editor', 'myoos' ),
|
|
'type' => 'heading'
|
|
);
|
|
|
|
/**
|
|
* For $settings options see:
|
|
* http://codex.wordpress.org/Function_Reference/wp_editor
|
|
*
|
|
* 'media_buttons' are not supported as there is no post to attach items to
|
|
* 'textarea_name' is set by the 'id' you choose
|
|
*/
|
|
|
|
$wp_editor_settings = array(
|
|
'wpautop' => true, // Default
|
|
'textarea_rows' => 5,
|
|
'tinymce' => array( 'plugins' => 'wordpress,wplink' )
|
|
);
|
|
|
|
$options[] = array(
|
|
'name' => __( 'Default Text Editor', 'myoos' ),
|
|
'desc' => sprintf( __( 'You can also pass settings to the editor. Read more about wp_editor in <a href="%1$s" target="_blank">the WordPress codex</a>', 'myoos' ), 'http://codex.wordpress.org/Function_Reference/wp_editor' ),
|
|
'id' => 'example_editor',
|
|
'type' => 'editor',
|
|
'settings' => $wp_editor_settings
|
|
);
|
|
|
|
return $options;
|
|
} |