settings_page.php
49 lines
| 1 | <?php |
| 2 | /******************************************************************************* |
| 3 | * File with setting registration |
| 4 | *******************************************************************************/ |
| 5 | |
| 6 | /** |
| 7 | * Generates a submenu page |
| 8 | * @param void |
| 9 | * @return HTML |
| 10 | **/ |
| 11 | add_action('admin_menu', 'clarity_submenu_page_generation'); |
| 12 | function clarity_submenu_page_generation() { |
| 13 | add_submenu_page('options-general.php', 'Clarity', 'Clarity', 'manage_options', 'clarity_settings', 'clarity_admin_settings_page'); |
| 14 | } |
| 15 | |
| 16 | /** |
| 17 | * Register Plugin settings |
| 18 | * @param void |
| 19 | * @return HTML |
| 20 | **/ |
| 21 | add_action('admin_init', 'clarity_register_settings'); |
| 22 | function clarity_register_settings() { |
| 23 | register_setting('clarity_settings_fields', 'clarity_project_id'); |
| 24 | add_settings_section('clarity_section_project_id', 'Welcome to Clarity!', 'clarity_section_project_id_callback', 'clarity_settings'); |
| 25 | add_settings_field('clarity_settings_field_project_id', 'Project Id:', 'clarity_settings_field_project_id_callback', 'clarity_settings', 'clarity_section_project_id'); |
| 26 | } |
| 27 | |
| 28 | add_action('admin_notices', 'setup_clarity_notice'); |
| 29 | function setup_clarity_notice() { |
| 30 | global $pagenow; |
| 31 | $url = get_admin_url() . 'options-general.php?page=clarity_settings'; |
| 32 | |
| 33 | if((get_option('clarity_project_id') == "" || get_option("display_clarity_notice", true)) && $pagenow != "options-general.php") { |
| 34 | if((isset($_GET['page']) && $_GET['page'] != 'clarity_settings') || !isset($_GET['page'])) { |
| 35 | echo |
| 36 | '<div class="notice notice-info is-dismissible"> |
| 37 | <p style="font-weight:700"> |
| 38 | Please setup Clarity to start understanding user behavior on your site. |
| 39 | </p> |
| 40 | <p> |
| 41 | <a class="button-primary" href="'. $url .'"> |
| 42 | Setup Clarity |
| 43 | </a> |
| 44 | </p> |
| 45 | </div>'; |
| 46 | } |
| 47 | } |
| 48 | } |
| 49 |