/
home
/
assocoweys
/
comgk
/
wp-content
/
plugins
/
charitable
/
includes
/
widgets
/
Upload File
HOME
<?php /** * Campaign categories/tags widget class. * * @package Charitable/Widgets/Charitable_Campaign_Terms_Widget * @category Class * @author David Bisset * @since 1.0.0 * @version 1.5.4 */ // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'Charitable_Campaign_Terms_Widget' ) ) : /** * Charitable_Campaign_Terms_Widget class. * * @since 1.0.0 */ class Charitable_Campaign_Terms_Widget extends WP_Widget { /** * Instantiate the widget and set up basic configuration. * * @since 1.0.0 */ public function __construct() { parent::__construct( 'charitable_campaign_terms_widget', __( 'Campaign Categories / Tags', 'charitable' ), array( 'description' => __( 'Displays your Charitable campaign categories or tags.', 'charitable' ), // 'customize_selective_refresh' => true ) ); } /** * Display the widget contents on the front-end. * * @since 1.0.0 * * @param array $args Display arguments including 'before_title', 'after_title', 'before_widget' and 'after_widget'. * @param array $instance The settings for the particular instance of the widget. * @return void */ public function widget( $args, $instance ) { $view_args = array_merge( $args, $instance ); $template = array_key_exists( 'dropdown', $view_args ) && $view_args['dropdown'] ? 'widgets/campaign-terms-dropdown.php' : 'widgets/campaign-terms.php'; charitable_template( $template, $view_args ); } /** * Display the widget form in the admin. * * @since 1.0.0 * * @param array $instance The current settings for the widget options. * @return void */ public function form( $instance ) { $title = isset( $instance['title'] ) ? esc_attr( $instance['title'] ) : ''; $taxonomy = isset( $instance['taxonomy'] ) ? $instance['taxonomy'] : 'campaign_category'; $show_count = isset( $instance['show_count'] ) && $instance['show_count']; $hide_empty = isset( $instance['hide_empty'] ) && $instance['hide_empty']; $dropdown = isset( $instance['dropdown'] ) && $instance['dropdown']; ?> <p> <label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"><?php esc_attr_e( 'Title:', 'charitable' ); ?></label> <input type="text" name="<?php echo esc_attr( $this->get_field_name( 'title' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>" value="<?php echo esc_attr( $title ); ?>"/> </p> <p> <label for="<?php echo esc_attr( $this->get_field_id( 'taxonomy' ) ); ?>"><?php esc_html_e( 'Taxonomy', 'charitable' ); ?></label> <select name="<?php echo esc_attr( $this->get_field_name( 'taxonomy' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'taxonomy' ) ); ?>"> <option value="campaign_category" <?php selected( 'campaign_category', $taxonomy ); ?>><?php esc_html_e( 'Categories', 'charitable' ); ?></option> <option value="campaign_tag" <?php selected( 'campaign_tag', $taxonomy ); ?>><?php esc_html_e( 'Tags', 'charitable' ); ?></option> </select> </p> <p> <label for="<?php echo esc_attr( $this->get_field_id( 'show_count' ) ); ?>"><?php esc_html_e( 'Show count:', 'charitable' ); ?></label> <input type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'show_count' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'show_count' ) ); ?>" <?php checked( $show_count ); ?> /> </p> <p> <label for="<?php echo esc_attr( $this->get_field_id( 'hide_empty' ) ); ?>"><?php esc_html_e( 'Hide empty:', 'charitable' ); ?></label> <input type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'hide_empty' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'hide_empty' ) ); ?>" <?php checked( $hide_empty ); ?> /> </p> <p> <label for="<?php echo esc_attr( $this->get_field_id( 'dropdown' ) ); ?>"><?php esc_html_e( 'Display as dropdown:', 'charitable' ); ?></label> <input type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'dropdown' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'dropdown' ) ); ?>" <?php checked( $dropdown ); ?> /> </p> <?php } /** * Update the widget settings in the admin. * * @since 1.0.0 * * @param array $new_instance The updated settings. * @param array $old_instance The old settings. * @return array */ public function update( $new_instance, $old_instance ) { $instance = array(); $instance['title'] = isset( $new_instance['title'] ) ? $new_instance['title'] : $old_instance['title']; $instance['taxonomy'] = isset( $new_instance['taxonomy'] ) ? $new_instance['taxonomy'] : $old_instance['taxonomy']; $instance['show_count'] = isset( $new_instance['show_count'] ) && $new_instance['show_count'] === 'on'; $instance['hide_empty'] = isset( $new_instance['hide_empty'] ) && $new_instance['hide_empty'] === 'on'; $instance['dropdown'] = isset( $new_instance['dropdown'] ) && $new_instance['dropdown'] === 'on'; return $instance; } } endif;