' . __( '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', array( $this, 'validate_color' ) ); // Background Color add_settings_field( '_av_bgcolor', __( 'Background Color', 'age_verify' ), 'av_settings_callback_bgcolor_field', 'age-verify', 'av_settings_display' ); register_setting ( 'age-verify', '_av_bgcolor', array( $this, 'validate_color' ) ); do_action( 'av_register_settings' ); } /** * Add a direct link to the Age Verify settings page from the plugins page. * * @since 0.2.6 * * @param array $actions The links beneath the plugin's name. * @param string $file The plugin filename. * @return string */ public function add_settings_link( $actions ) { $settings_link = ''; $settings_link .= __( 'Settings', Age_Verify::SLUG ); $settings_link .=''; array_unshift( $actions, $settings_link ); return $actions; } /** * Validates the color inputs from the settings. * * @since 0.2.6 * * @param string $color A color hex. * @return string $color The validated color hex. */ public function validate_color( $color ) { $color = preg_replace( '/[^0-9a-fA-F]/', '', $color ); if ( strlen( $color ) == 6 || strlen( $color ) == 3 ) { $color = $color; } else { $color = ''; } return $color; } /** * Enqueue the scripts. * * @since 0.2.6 * * @param string $page The current admin page. * @return void */ public function enqueue_scripts( $page ) { if ( 'settings_page_age-verify' != $page ) { return; } wp_enqueue_style( 'wp-color-picker' ); wp_enqueue_script( 'av-admin-scripts', plugin_dir_url( __FILE__ ) . 'assets/scripts.js', array( 'jquery', 'wp-color-picker' ) ); } /** * Add a "restrict" checkbox to individual posts/pages. * * @since 0.2.6 * * @return void */ public function add_submitbox_checkbox() { ?>