From 3291ce83a7f25cdb41b5469434e0a806548900f2 Mon Sep 17 00:00:00 2001 From: Robin Cornett Date: Mon, 6 Nov 2017 13:17:42 -0500 Subject: [PATCH] Move author image fields to form class --- ...ss-displayfeaturedimagegenesis-widgets.php | 39 ++++++++++++++- ...playfeaturedimagegenesis-author-widget.php | 49 +++---------------- 2 files changed, 45 insertions(+), 43 deletions(-) diff --git a/includes/widgets/class-displayfeaturedimagegenesis-widgets.php b/includes/widgets/class-displayfeaturedimagegenesis-widgets.php index f9a6d54..95ff795 100644 --- a/includes/widgets/class-displayfeaturedimagegenesis-widgets.php +++ b/includes/widgets/class-displayfeaturedimagegenesis-widgets.php @@ -29,7 +29,7 @@ class DisplayFeaturedImageGenesisWidgets { /** * @return array */ - public function get_image_size() { + protected function get_image_size() { $sizes = genesis_get_image_sizes(); $options = array(); foreach ( (array) $sizes as $name => $size ) { @@ -42,7 +42,7 @@ class DisplayFeaturedImageGenesisWidgets { /** * @return array */ - public function get_image_alignment() { + protected function get_image_alignment() { return array( 'alignnone' => __( 'None', 'display-featured-image-genesis' ), 'alignleft' => __( 'Left', 'display-featured-image-genesis' ), @@ -87,6 +87,41 @@ class DisplayFeaturedImageGenesisWidgets { ); } + /** + * Get the image fields for the author widget. + * + * @return array + */ + public function get_author_image_fields() { + return array( + array( + 'method' => 'checkbox', + 'args' => array( + 'id' => 'show_featured_image', + 'label' => __( 'Show the user\'s featured image.', 'display-featured-image-genesis' ), + ), + ), + array( + 'method' => 'select', + 'args' => array( + 'id' => 'featured_image_size', + 'label' => __( 'Image Size:', 'display-featured-image-genesis' ), + 'flex' => true, + 'choices' => $this->get_image_size(), + ), + ), + array( + 'method' => 'select', + 'args' => array( + 'id' => 'featured_image_alignment', + 'label' => __( 'Image Alignment:', 'display-featured-image-genesis' ), + 'flex' => true, + 'choices' => $this->get_image_alignment(), + ), + ), + ); + } + /** * Get the text fields (used in CPT and term). * diff --git a/includes/widgets/displayfeaturedimagegenesis-author-widget.php b/includes/widgets/displayfeaturedimagegenesis-author-widget.php index cc99a7c..f043ed4 100644 --- a/includes/widgets/displayfeaturedimagegenesis-author-widget.php +++ b/includes/widgets/displayfeaturedimagegenesis-author-widget.php @@ -186,16 +186,20 @@ class Display_Featured_Image_Genesis_Author_Widget extends WP_Widget { $new_instance['user'] = (int) $new_instance['user']; $updater = new DisplayFeaturedImageGenesisWidgetsUpdate(); - return $updater->update( $new_instance, $old_instance, $this->get_fields() ); + return $updater->update( $new_instance, $old_instance, $this->get_fields( $new_instance ) ); } /** * Get all widget fields. + * + * @param $new_instance + * * @return array */ - public function get_fields() { + public function get_fields( $new_instance ) { + $form = $this->get_form_class( $new_instance ); return array_merge( - $this->get_image_fields(), + $form->get_author_image_fields(), $this->get_gravatar_fields(), $this->get_description_fields(), $this->get_archive_fields() @@ -226,7 +230,7 @@ class Display_Featured_Image_Genesis_Author_Widget extends WP_Widget { ) ); $form->do_boxes( array( - 'author' => $this->get_image_fields(), + 'author' => $form->get_author_image_fields(), ), 'genesis-widget-column-box-top' ); $form->do_boxes( array( @@ -258,43 +262,6 @@ class Display_Featured_Image_Genesis_Author_Widget extends WP_Widget { return $this->form_class; } - /** - * Get the image fields (unique to this widget). - * - * @return array - */ - protected function get_image_fields() { - $form = $this->get_form_class(); - - return array( - array( - 'method' => 'checkbox', - 'args' => array( - 'id' => 'show_featured_image', - 'label' => __( 'Show the user\'s featured image.', 'display-featured-image-genesis' ), - ), - ), - array( - 'method' => 'select', - 'args' => array( - 'id' => 'featured_image_size', - 'label' => __( 'Image Size:', 'display-featured-image-genesis' ), - 'flex' => true, - 'choices' => $form->get_image_size(), - ), - ), - array( - 'method' => 'select', - 'args' => array( - 'id' => 'featured_image_alignment', - 'label' => __( 'Image Alignment:', 'display-featured-image-genesis' ), - 'flex' => true, - 'choices' => $form->get_image_alignment(), - ), - ), - ); - } - /** * Get the gravatar fields. *