| 1 |
<?php // Prismatic - Register Settings |
| 2 |
|
| 3 |
if (!defined('ABSPATH')) exit; |
| 4 |
|
| 5 |
function prismatic_register_settings() { |
| 6 |
|
| 7 |
|
| 8 |
// register_setting( $option_group, $option_name, $sanitize_callback ) |
| 9 |
register_setting('prismatic_options_general', 'prismatic_options_general', 'prismatic_validate_general'); |
| 10 |
|
| 11 |
// add_settings_section( $id, $title, $callback, $page ) |
| 12 |
add_settings_section('settings_general', 'General settings', 'prismatic_section_general', 'prismatic_options_general'); |
| 13 |
|
| 14 |
// add_settings_field( $id, $title, $callback, $page, $section, $args ) |
| 15 |
add_settings_field('library', 'Library', 'prismatic_callback_select', 'prismatic_options_general', 'settings_general', array('id' => 'library', 'section' => 'general', 'label' => esc_html__('', 'prismatic'))); |
| 16 |
add_settings_field('null_reset_options', 'Reset Options', 'prismatic_callback_reset', 'prismatic_options_general', 'settings_general', array('id' => 'null_reset_options', 'section' => 'general', 'label' => esc_html__('Restore default options', 'prismatic'))); |
| 17 |
add_settings_field('null_rate_plugin', 'Support Plugin', 'prismatic_callback_rate', 'prismatic_options_general', 'settings_general', array('id' => 'null_rate_plugin', 'section' => 'general', 'label' => esc_html__('Show support with a 5-star rating »', 'prismatic'))); |
| 18 |
|
| 19 |
|
| 20 |
// Prism |
| 21 |
register_setting('prismatic_options_prism', 'prismatic_options_prism', 'prismatic_validate_prism'); |
| 22 |
|
| 23 |
add_settings_section('settings_prism', 'Prism.js settings', 'prismatic_section_prism', 'prismatic_options_prism'); |
| 24 |
|
| 25 |
add_settings_field('prism_theme', 'Theme', 'prismatic_callback_select', 'prismatic_options_prism', 'settings_prism', array('id' => 'prism_theme', 'section' => 'prism', 'label' => esc_html__('Prism theme', 'prismatic'))); |
| 26 |
add_settings_field('line_highlight', 'Line Highlight', 'prismatic_callback_checkbox', 'prismatic_options_prism', 'settings_prism', array('id' => 'line_highlight', 'section' => 'prism', 'label' => esc_html__('Enable', 'prismatic') .' <a target="_blank" rel="noopener noreferrer" href="http://prismjs.com/plugins/line-highlight/">'. esc_html__('Line Highlight', 'prismatic') .'</a>')); |
| 27 |
add_settings_field('line_numbers', 'Line Numbers', 'prismatic_callback_checkbox', 'prismatic_options_prism', 'settings_prism', array('id' => 'line_numbers', 'section' => 'prism', 'label' => esc_html__('Enable', 'prismatic') .' <a target="_blank" rel="noopener noreferrer" href="http://prismjs.com/plugins/line-numbers/">'. esc_html__('Line Numbers', 'prismatic') .'</a>')); |
| 28 |
add_settings_field('show_language', 'Show Language', 'prismatic_callback_checkbox', 'prismatic_options_prism', 'settings_prism', array('id' => 'show_language', 'section' => 'prism', 'label' => esc_html__('Enable', 'prismatic') .' <a target="_blank" rel="noopener noreferrer" href="http://prismjs.com/plugins/show-language/">'. esc_html__('Show Language', 'prismatic') .'</a>')); |
| 29 |
add_settings_field('singular_only', 'Limit to Posts', 'prismatic_callback_checkbox', 'prismatic_options_prism', 'settings_prism', array('id' => 'singular_only', 'section' => 'prism', 'label' => esc_html__('Limit to Posts and Pages', 'prismatic'))); |
| 30 |
|
| 31 |
add_settings_section('settings_prism_code', 'Code Escaping', 'prismatic_section_prism_code', 'prismatic_options_prism'); |
| 32 |
|
| 33 |
add_settings_field('filter_content', 'Content', 'prismatic_callback_select', 'prismatic_options_prism', 'settings_prism_code', array('id' => 'filter_content', 'section' => 'prism', 'label' => esc_html__('Code escaping for content', 'prismatic'))); |
| 34 |
add_settings_field('filter_excerpts', 'Excerpts', 'prismatic_callback_select', 'prismatic_options_prism', 'settings_prism_code', array('id' => 'filter_excerpts', 'section' => 'prism', 'label' => esc_html__('Code escaping for excerpts', 'prismatic'))); |
| 35 |
add_settings_field('filter_comments', 'Comments', 'prismatic_callback_select', 'prismatic_options_prism', 'settings_prism_code', array('id' => 'filter_comments', 'section' => 'prism', 'label' => esc_html__('Code escaping for comments', 'prismatic'))); |
| 36 |
|
| 37 |
|
| 38 |
// Highlight |
| 39 |
register_setting('prismatic_options_highlight', 'prismatic_options_highlight', 'prismatic_validate_highlight'); |
| 40 |
|
| 41 |
add_settings_section('settings_highlight', 'Highlight.js settings', 'prismatic_section_highlight', 'prismatic_options_highlight'); |
| 42 |
|
| 43 |
add_settings_field('highlight_theme', 'Theme', 'prismatic_callback_select', 'prismatic_options_highlight', 'settings_highlight', array('id' => 'highlight_theme', 'section' => 'highlight', 'label' => esc_html__('Highlight theme', 'prismatic'))); |
| 44 |
add_settings_field('init_javascript', 'Init Script', 'prismatic_callback_textarea', 'prismatic_options_highlight', 'settings_highlight', array('id' => 'init_javascript', 'section' => 'highlight', 'label' => esc_html__('Init script for Highlight.js (required)', 'prismatic'))); |
| 45 |
add_settings_field('noprefix_classes', 'No Prefixes', 'prismatic_callback_checkbox', 'prismatic_options_highlight', 'settings_highlight', array('id' => 'noprefix_classes', 'section' => 'highlight', 'label' => esc_html__('Support no-prefix class names', 'prismatic'))); |
| 46 |
add_settings_field('singular_only', 'Limit to Posts', 'prismatic_callback_checkbox', 'prismatic_options_highlight', 'settings_highlight', array('id' => 'singular_only', 'section' => 'highlight', 'label' => esc_html__('Limit to Posts and Pages', 'prismatic'))); |
| 47 |
|
| 48 |
add_settings_section('settings_highlight_code', 'Code Escaping', 'prismatic_section_highlight_code', 'prismatic_options_highlight'); |
| 49 |
|
| 50 |
add_settings_field('filter_content', 'Content', 'prismatic_callback_select', 'prismatic_options_highlight', 'settings_highlight_code', array('id' => 'filter_content', 'section' => 'highlight', 'label' => esc_html__('Code escaping for content', 'prismatic'))); |
| 51 |
add_settings_field('filter_excerpts', 'Excerpts', 'prismatic_callback_select', 'prismatic_options_highlight', 'settings_highlight_code', array('id' => 'filter_excerpts', 'section' => 'highlight', 'label' => esc_html__('Code escaping for excerpts', 'prismatic'))); |
| 52 |
add_settings_field('filter_comments', 'Comments', 'prismatic_callback_select', 'prismatic_options_highlight', 'settings_highlight_code', array('id' => 'filter_comments', 'section' => 'highlight', 'label' => esc_html__('Code escaping for comments', 'prismatic'))); |
| 53 |
|
| 54 |
|
| 55 |
// Plain |
| 56 |
register_setting('prismatic_options_plain', 'prismatic_options_plain', 'prismatic_validate_plain'); |
| 57 |
|
| 58 |
add_settings_section('settings_plain', 'Code Escaping', 'prismatic_section_plain', 'prismatic_options_plain'); |
| 59 |
|
| 60 |
add_settings_field('filter_content', 'Content', 'prismatic_callback_select', 'prismatic_options_plain', 'settings_plain', array('id' => 'filter_content', 'section' => 'plain', 'label' => esc_html__('Code escaping for content', 'prismatic'))); |
| 61 |
add_settings_field('filter_excerpts', 'Excerpts', 'prismatic_callback_select', 'prismatic_options_plain', 'settings_plain', array('id' => 'filter_excerpts', 'section' => 'plain', 'label' => esc_html__('Code escaping for excerpts', 'prismatic'))); |
| 62 |
add_settings_field('filter_comments', 'Comments', 'prismatic_callback_select', 'prismatic_options_plain', 'settings_plain', array('id' => 'filter_comments', 'section' => 'plain', 'label' => esc_html__('Code escaping for comments', 'prismatic'))); |
| 63 |
|
| 64 |
|
| 65 |
} |
| 66 |
|