settings_page.php
40 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" && $_GET['page']!='clarity_settings' ) |
| 34 | { |
| 35 | echo '<div class="notice notice-info is-dismissible"> |
| 36 | <p style="font-weight:700">Please setup Clarity to start understanding user behavior on your site. </p><p><a class="button-primary" href="'. $url .'">Setup Clarity</a></p> |
| 37 | </div>'; |
| 38 | } |
| 39 | } |
| 40 |