From dc561f9ee250c6b72c788b108c52f9fc4697501f Mon Sep 17 00:00:00 2001 From: Robin Cornett Date: Mon, 5 Feb 2018 14:39:21 -0500 Subject: [PATCH] Add custom text option to term/CPT widgets --- ...splayfeaturedimagegenesis-widgets-form.php | 21 +++++++++++--- ...eaturedimagegenesis-cpt-archive-widget.php | 29 ++++--------------- ...ayfeaturedimagegenesis-taxonomy-widget.php | 5 ++++ 3 files changed, 28 insertions(+), 27 deletions(-) diff --git a/includes/widgets/class-displayfeaturedimagegenesis-widgets-form.php b/includes/widgets/class-displayfeaturedimagegenesis-widgets-form.php index 31bc27f..dff97f9 100644 --- a/includes/widgets/class-displayfeaturedimagegenesis-widgets-form.php +++ b/includes/widgets/class-displayfeaturedimagegenesis-widgets-form.php @@ -128,19 +128,32 @@ class DisplayFeaturedImageGenesisWidgetsForm { * @return array */ public function get_text_fields() { + $label = 'featured-taxonomy' === $this->parent->id_base ? __( 'Term', 'display-featured-image-genesis' ) : __( 'Archive', 'display-featured-image-genesis' ); return array( array( 'method' => 'checkbox', 'args' => array( 'id' => 'show_title', - 'label' => __( 'Show Term Title', 'display-featured-image-genesis' ), + 'label' => sprintf( __( 'Show %s Title', 'display-featured-image-genesis' ), $label ), ), ), array( - 'method' => 'checkbox', + 'method' => 'select', 'args' => array( - 'id' => 'show_content', - 'label' => __( 'Show Term Intro Text', 'display-featured-image-genesis' ), + 'id' => 'show_content', + 'label' => sprintf( __( 'Show %s Intro Text', 'display-featured-image-genesis' ), $label ), + 'choices' => array( + '' => __( 'None', 'display-featured-image-genesis' ), + 1 => __( 'Intro Text', 'display-featured-image-genesis' ), + 'custom' => __( 'Custom Text (below)', 'display-featured-image-genesis' ), + ), + ), + ), + array( + 'method' => 'textarea', + 'args' => array( + 'id' => 'custom_content', + 'label' => __( 'Custom Intro Text', 'display-featured-image-genesis' ), ), ), ); diff --git a/includes/widgets/displayfeaturedimagegenesis-cpt-archive-widget.php b/includes/widgets/displayfeaturedimagegenesis-cpt-archive-widget.php index 1bdb9dc..d2fe763 100644 --- a/includes/widgets/displayfeaturedimagegenesis-cpt-archive-widget.php +++ b/includes/widgets/displayfeaturedimagegenesis-cpt-archive-widget.php @@ -54,6 +54,7 @@ class Display_Featured_Image_Genesis_Widget_CPT extends WP_Widget { 'image_size' => 'medium', 'show_title' => 0, 'show_content' => 0, + 'custom_content' => '', 'archive_link' => 0, 'archive_link_text' => __( 'View Content Type Archive', 'display-featured-image-genesis' ), ); @@ -262,6 +263,10 @@ class Display_Featured_Image_Genesis_Widget_CPT extends WP_Widget { } } + if ( 'custom' === $instance['show_content'] ) { + $intro_text = $instance['custom_content']; + } + return $intro_text; } @@ -345,7 +350,7 @@ class Display_Featured_Image_Genesis_Widget_CPT extends WP_Widget { ), 'genesis-widget-column-box-top' ); $form->do_boxes( array( - 'words' => $this->get_text_fields(), + 'words' => $form->get_text_fields(), ) ); $form->do_boxes( array( @@ -376,28 +381,6 @@ class Display_Featured_Image_Genesis_Widget_CPT extends WP_Widget { ); } - /** - * @return array - */ - protected function get_text_fields() { - return array( - array( - 'method' => 'checkbox', - 'args' => array( - 'id' => 'show_title', - 'label' => __( 'Show Archive Title', 'display-featured-image-genesis' ), - ), - ), - array( - 'method' => 'checkbox', - 'args' => array( - 'id' => 'show_content', - 'label' => __( 'Show Archive Intro Text', 'display-featured-image-genesis' ), - ), - ), - ); - } - /** * Get the public registered post types on the site. * diff --git a/includes/widgets/displayfeaturedimagegenesis-taxonomy-widget.php b/includes/widgets/displayfeaturedimagegenesis-taxonomy-widget.php index 760f52b..ad8865a 100644 --- a/includes/widgets/displayfeaturedimagegenesis-taxonomy-widget.php +++ b/includes/widgets/displayfeaturedimagegenesis-taxonomy-widget.php @@ -56,6 +56,7 @@ class Display_Featured_Image_Genesis_Widget_Taxonomy extends WP_Widget { 'image_size' => 'medium', 'show_title' => 0, 'show_content' => 0, + 'custom_content' => '', 'archive_link' => 0, 'archive_link_text' => __( 'View Term Archive', 'display-featured-image-genesis' ), ); @@ -170,6 +171,10 @@ class Display_Featured_Image_Genesis_Widget_Taxonomy extends WP_Widget { $intro_text = $term->description; } + if ( 'custom' === $instance['show_content'] ) { + $intro_text = $instance['custom_content']; + } + echo wp_kses_post( wpautop( $intro_text ) ); echo genesis_html5() ? '' : '';