mirror of
https://github.com/10h30/display-featured-image-genesis.git
synced 2026-07-11 18:46:03 +09:00
Add archive links to term/CPT widgets
This commit is contained in:
@@ -146,6 +146,30 @@ class DisplayFeaturedImageGenesisWidgetsForm {
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the archive fields (used in term and CPT widgets).
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function get_archive_fields() {
|
||||
return array(
|
||||
array(
|
||||
'method' => 'checkbox',
|
||||
'args' => array(
|
||||
'id' => 'archive_link',
|
||||
'label' => __( 'Show Archive Link', 'display-featured-image-genesis' ),
|
||||
),
|
||||
),
|
||||
array(
|
||||
'method' => 'text',
|
||||
'args' => array(
|
||||
'id' => 'archive_link_text',
|
||||
'label' => __( 'Archive Link Text', 'display-featured-image-genesis' ),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Build boxes with fields.
|
||||
*
|
||||
|
||||
@@ -52,13 +52,15 @@ class Display_Featured_Image_Genesis_Widget_CPT extends WP_Widget {
|
||||
*/
|
||||
public function defaults() {
|
||||
return array(
|
||||
'title' => '',
|
||||
'post_type' => 'post',
|
||||
'show_image' => 0,
|
||||
'image_alignment' => 'alignnone',
|
||||
'image_size' => 'medium',
|
||||
'show_title' => 0,
|
||||
'show_content' => 0,
|
||||
'title' => '',
|
||||
'post_type' => 'post',
|
||||
'show_image' => 0,
|
||||
'image_alignment' => 'alignnone',
|
||||
'image_size' => 'medium',
|
||||
'show_title' => 0,
|
||||
'show_content' => 0,
|
||||
'archive_link' => 0,
|
||||
'archive_link_text' => __( 'View Content Type Archive', 'display-featured-image-genesis' ),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -93,6 +95,7 @@ class Display_Featured_Image_Genesis_Widget_CPT extends WP_Widget {
|
||||
$this->do_image( $instance, $post_type, $title, $permalink );
|
||||
$this->do_title( $instance, $permalink, $title );
|
||||
$this->do_intro_text( $instance );
|
||||
$this->do_archive_link( $permalink, $instance );
|
||||
|
||||
echo $args['after_widget'];
|
||||
}
|
||||
@@ -267,6 +270,22 @@ class Display_Featured_Image_Genesis_Widget_CPT extends WP_Widget {
|
||||
return $intro_text;
|
||||
}
|
||||
|
||||
/**
|
||||
* Echo the CPT archive link.
|
||||
*
|
||||
* @param $permalink
|
||||
* @param $instance
|
||||
*/
|
||||
protected function do_archive_link( $permalink, $instance ) {
|
||||
if ( ! $instance['archive_link'] || ! $instance['archive_link_text'] ) {
|
||||
return;
|
||||
}
|
||||
printf( '<p class="more-from-category"><a href="%s">%s</a></p>',
|
||||
esc_url( $permalink ),
|
||||
esc_html( $instance['archive_link_text'] )
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update a particular instance.
|
||||
*
|
||||
@@ -299,7 +318,8 @@ class Display_Featured_Image_Genesis_Widget_CPT extends WP_Widget {
|
||||
return array_merge(
|
||||
$this->get_post_type_fields(),
|
||||
$form->get_text_fields(),
|
||||
$form->get_image_fields()
|
||||
$form->get_image_fields(),
|
||||
$form->get_archive_fields()
|
||||
);
|
||||
}
|
||||
|
||||
@@ -339,6 +359,10 @@ class Display_Featured_Image_Genesis_Widget_CPT extends WP_Widget {
|
||||
'image' => $form->get_image_fields(),
|
||||
), 'genesis-widget-column-box-top' );
|
||||
|
||||
$form->do_boxes( array(
|
||||
'archive' => $form->get_archive_fields(),
|
||||
) );
|
||||
|
||||
echo '</div>';
|
||||
}
|
||||
|
||||
|
||||
@@ -53,14 +53,16 @@ class Display_Featured_Image_Genesis_Widget_Taxonomy extends WP_Widget {
|
||||
*/
|
||||
public function defaults() {
|
||||
return array(
|
||||
'title' => '',
|
||||
'taxonomy' => 'category',
|
||||
'term' => '',
|
||||
'show_image' => 0,
|
||||
'image_alignment' => '',
|
||||
'image_size' => 'medium',
|
||||
'show_title' => 0,
|
||||
'show_content' => 0,
|
||||
'title' => '',
|
||||
'taxonomy' => 'category',
|
||||
'term' => '',
|
||||
'show_image' => 0,
|
||||
'image_alignment' => '',
|
||||
'image_size' => 'medium',
|
||||
'show_title' => 0,
|
||||
'show_content' => 0,
|
||||
'archive_link' => 0,
|
||||
'archive_link_text' => __( 'View Term Archive', 'display-featured-image-genesis' ),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -103,6 +105,8 @@ class Display_Featured_Image_Genesis_Widget_Taxonomy extends WP_Widget {
|
||||
|
||||
$this->do_content( $term, $instance );
|
||||
|
||||
$this->do_archive_link( $term, $instance );
|
||||
|
||||
echo $args['after_widget'];
|
||||
|
||||
}
|
||||
@@ -176,6 +180,22 @@ class Display_Featured_Image_Genesis_Widget_Taxonomy extends WP_Widget {
|
||||
echo genesis_html5() ? '</div>' : '';
|
||||
}
|
||||
|
||||
/**
|
||||
* Echo the term archive link.
|
||||
*
|
||||
* @param $term
|
||||
* @param $instance
|
||||
*/
|
||||
protected function do_archive_link( $term, $instance ) {
|
||||
if ( ! $instance['archive_link'] || ! $instance['archive_link_text'] ) {
|
||||
return;
|
||||
}
|
||||
printf( '<p class="more-from-category"><a href="%s">%s</a></p>',
|
||||
esc_url( get_term_link( $term ) ),
|
||||
esc_html( $instance['archive_link_text'] )
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update a particular instance.
|
||||
*
|
||||
@@ -203,10 +223,12 @@ class Display_Featured_Image_Genesis_Widget_Taxonomy extends WP_Widget {
|
||||
*/
|
||||
public function get_fields( $instance = array() ) {
|
||||
$form = $this->get_form_class( $instance );
|
||||
|
||||
return array_merge(
|
||||
$form->get_text_fields(),
|
||||
$this->get_taxonomy_fields( $instance ),
|
||||
$form->get_image_fields()
|
||||
$form->get_image_fields(),
|
||||
$form->get_archive_fields()
|
||||
);
|
||||
}
|
||||
|
||||
@@ -248,11 +270,16 @@ class Display_Featured_Image_Genesis_Widget_Taxonomy extends WP_Widget {
|
||||
'image' => $form->get_image_fields(),
|
||||
), 'genesis-widget-column-box-top' );
|
||||
|
||||
$form->do_boxes( array(
|
||||
'archive' => $form->get_archive_fields(),
|
||||
) );
|
||||
|
||||
echo '</div>';
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the plugin widget forms class.
|
||||
*
|
||||
* @param array $instance
|
||||
*
|
||||
* @return \DisplayFeaturedImageGenesisWidgetsForm
|
||||
|
||||
Reference in New Issue
Block a user