You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

86 lines
2.1KB

  1. <?php // Prismatic - Display Settings
  2. if (!defined('ABSPATH')) exit;
  3. function prismatic_menu_pages() {
  4. // add_options_page( $page_title, $menu_title, $capability, $menu_slug, $function )
  5. add_options_page('Prismatic', 'Prismatic', 'manage_options', 'prismatic', 'prismatic_display_settings');
  6. }
  7. function prismatic_get_tabs() {
  8. $tabs = array(
  9. 'tab1' => esc_html__('General', 'prismatic'),
  10. 'tab2' => esc_html__('Prism.js', 'prismatic'),
  11. 'tab3' => esc_html__('Highlight.js', 'prismatic'),
  12. 'tab4' => esc_html__('Plain Flavor', 'prismatic'),
  13. );
  14. return $tabs;
  15. }
  16. function prismatic_display_settings() {
  17. $tab_active = isset($_GET['tab']) ? sanitize_text_field($_GET['tab']) : 'tab1';
  18. $tab_href = admin_url('options-general.php?page=prismatic');
  19. $tab_names = prismatic_get_tabs();
  20. ?>
  21. <div class="wrap wrap-<?php echo $tab_active; ?>">
  22. <h1><span class="fa fa-pad fa-code"></span> <?php echo PRISMATIC_NAME; ?> <span class="prismatic-version"><?php echo PRISMATIC_VERSION; ?></span></h1>
  23. <h2 class="nav-tab-wrapper">
  24. <?php
  25. foreach ($tab_names as $key => $value) {
  26. $active = ($tab_active === $key) ? ' nav-tab-active' : '';
  27. echo '<a href="'. $tab_href .'&tab='. $key .'" class="nav-tab nav-'. $key . $active .'">'. $value .'</a>';
  28. }
  29. ?>
  30. </h2>
  31. <form method="post" action="options.php">
  32. <?php
  33. if ($tab_active === 'tab1') {
  34. settings_fields('prismatic_options_general');
  35. do_settings_sections('prismatic_options_general');
  36. } elseif ($tab_active === 'tab2') {
  37. settings_fields('prismatic_options_prism');
  38. do_settings_sections('prismatic_options_prism');
  39. } elseif ($tab_active === 'tab3') {
  40. settings_fields('prismatic_options_highlight');
  41. do_settings_sections('prismatic_options_highlight');
  42. } elseif ($tab_active === 'tab4') {
  43. settings_fields('prismatic_options_plain');
  44. do_settings_sections('prismatic_options_plain');
  45. }
  46. submit_button();
  47. ?>
  48. </form>
  49. </div>
  50. <?php }