From 4cc50d7b4dbc7b2540252cacc6559bf523509d93 Mon Sep 17 00:00:00 2001 From: Jay Wood Date: Fri, 30 Sep 2016 10:21:29 -0400 Subject: [PATCH] Start working on settings field types - #45 --- includes/admin.php | 13 +++++++------ includes/settings.php | 43 +++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 48 insertions(+), 8 deletions(-) diff --git a/includes/admin.php b/includes/admin.php index 95859e3..565955f 100644 --- a/includes/admin.php +++ b/includes/admin.php @@ -81,9 +81,10 @@ class CWV2_Admin { $this->options_page, $section['id'], array( - 'id' => $this->option_prefix . $option_data['id'], - 'name' => $this->option_prefix . $option_data['id'], - 'desc' => $option_data['desc'] + 'id' => $this->option_prefix . $option_data['id'], + 'name' => $this->option_prefix . $option_data['id'], + 'desc' => $option_data['desc'], + 'options' => isset( $option_data['options'] ) ? $option_data['options'] : false, ) ); } @@ -307,9 +308,9 @@ class CWV2_Admin { ), ), array( - 'id' => 'entry-settings', - 'name' => __( 'Dialog Settings', 'content-warning-v2' ), - 'group' => 'def_group', + 'id' => 'entry-settings', + 'name' => __( 'Dialog Settings', 'content-warning-v2' ), + 'group' => 'def_group', 'fields' => array( array( 'id' => 'd_title', diff --git a/includes/settings.php b/includes/settings.php index d9beace..fac58b2 100644 --- a/includes/settings.php +++ b/includes/settings.php @@ -6,29 +6,68 @@ class CWV2_Settings { public function def_group() { } - public function check( $args = array() ) { + + /** + * Just gets a default set of arguments to make sure they're always set. + * + * @param $args + * + * @author JayWood + * @return array + */ + private function get_default_args( $args ) { + return wp_parse_args( $args, array( + 'id' => '', + 'name' => '', + 'desc' => '', + 'default' => '', + 'options' => false, + ) ); } + + public function check( $args = array() ) { + $args = $this->get_default_args( $args ); + + $field_id = $args['id']; + $description = $args['desc']; + $options = $args['options']; + if ( ! $options ) { + return; + } + + ?>
$label ) { + + } + ?>