' . __( 'Visitors must be', 'age_verify' ) . '', 'av_settings_callback_minimum_age_field', 'age-verify', 'av_settings_general' ); register_setting ( 'age-verify', '_av_minimum_age', 'intval' ); // Memory Length add_settings_field( '_av_cookie_duration', '', 'av_settings_callback_cookie_duration_field', 'age-verify', 'av_settings_general' ); register_setting ( 'age-verify', '_av_cookie_duration', 'intval' ); add_settings_field( '_av_membership', __( 'Membership', 'age_verify' ), 'av_settings_callback_membership_field', 'age-verify', 'av_settings_general' ); register_setting ( 'age-verify', '_av_membership', 'intval' ); /* Display Section */ add_settings_section( 'av_settings_display', __( 'Display Options', 'age_verify' ), 'av_settings_callback_section_display', 'age-verify' ); // Heading add_settings_field( '_av_heading', '', 'av_settings_callback_heading_field', 'age-verify', 'av_settings_display' ); register_setting ( 'age-verify', '_av_heading', 'esc_attr' ); // Description add_settings_field( '_av_description', '', 'av_settings_callback_description_field', 'age-verify', 'av_settings_display' ); register_setting ( 'age-verify', '_av_description', 'esc_attr' ); // Input Type add_settings_field( '_av_input_type', '', 'av_settings_callback_input_type_field', 'age-verify', 'av_settings_display' ); register_setting ( 'age-verify', '_av_input_type', 'esc_attr' ); // Enable CSS add_settings_field( '_av_styling', __( 'Styling', 'age_verify' ), 'av_settings_callback_styling_field', 'age-verify', 'av_settings_display' ); register_setting ( 'age-verify', '_av_styling', 'intval' ); // Overlay Color add_settings_field( '_av_overlay_color', __( 'Overlay Color', 'age_verify' ), 'av_settings_callback_overlay_color_field', 'age-verify', 'av_settings_display' ); register_setting ( 'age-verify', '_av_overlay_color', 'av_validate_color' ); // Background Color add_settings_field( '_av_bgcolor', __( 'Background Color' ), 'av_settings_callback_bgcolor_field', 'age-verify', 'av_settings_display' ); register_setting ( 'age-verify', '_av_bgcolor', 'av_validate_color' ); do_action( 'av_register_settings' ); } /** * Validates the color inputs from the settings. * * @since 0.1 * @access public * @return string */ function av_validate_color( $color ) { $color = preg_replace( '/[^0-9a-fA-F]/', '', $color ); if ( strlen( $color ) == 6 || strlen( $color ) == 3 ) $color = $color; else $color = ''; return $color; } /** * Add to the settings menu. * * @since 0.1 * @access public */ function av_admin_menu() { add_options_page ( __( 'Age Verify', 'age_verify' ), __( 'Age Verify', 'age_verify' ), 'manage_options', 'age-verify', 'av_settings_page' ); } /** * Add a direct link to the Age Verify settings page from the plugins page. * * @since 0.1 * @access public * @return string */ function av_admin_add_settings_link( $links, $file ) { global $age_verify; if ( $age_verify->basename == $file ) : $settings_link = '' . __( 'Settings', 'age_verify' ) . ''; array_unshift( $links, $settings_link ); endif; return $links; } /** * Enqueue the scripts. * * @since 0.1 */ function av_admin_enqueue_scripts( $page ) { global $age_verify; if ( 'settings_page_age-verify' != $page ) return; wp_enqueue_style('wp-color-picker'); wp_enqueue_script( 'av-admin-scripts', $age_verify->admin_url . '/admin-assets/admin-scripts.js', array( 'jquery', 'wp-color-picker' ) ); } /** * Adds the meta box for posts and pages. * * @since 0.2 */ function av_add_submitbox_checkbox() { global $post; ?>