MP_MortgageCalculatorWidget

Class MP_MortgageCalculatorWidget.


Description Description

See also See also


Top ↑

Source Source

File: mortgage-platform/Inc/Calculators/MortgageCalculator/Extensions/MP_MortgageCalculatorWidget.php

class MP_MortgageCalculatorWidget extends \WP_Widget {

	/**
	 * CalculatorWidget constructor.
	 *
	 * @since 1.0.0
	 * @access public
	 */
	public function __construct() {
		parent::__construct(
			MortgagePlatform::$prefix . 'widget',
			__( 'Mortgage Calculator', 'mortgage_platform' ),
			array( 'description' => MortgagePlatform::$plugin_name )
		);
	}

	/**
	 * Widget init.
	 *
	 * @since 1.0.0
	 * @access public
	 *
	 * @param array $args arguments
	 * @param array $instance instance
	 */
	public function widget( $args, $instance ) {

		if ( ! has_shortcode( get_the_content(), MortgagePlatform::$shortcode_widget ) ) {
			extract( $args );

			/**
			 * Widget title filter.
			 *
			 * @param mixed $instance['title'] title
			 */
			$title = apply_filters( 'widget_title', $instance['title'] );
			// before and after widget arguments are defined by themes
			echo  $args['before_widget'] ;
			if ( $title ) {
				echo  $before_title  . esc_html( $title ) .  $after_title ;
			}
			$calculator = '[' . MortgagePlatform::$shortcode_widget . ']';
			echo do_shortcode( $calculator );
			echo  $args['after_widget'] ;
		}

	}

	/**
	 * Widget Backend.
	 *
	 * @since 1.0.0
	 * @access public
	 *
	 * @param array $instance instance
	 */
	public function form( $instance ) {
		$defaults = array(
			'title' => ' ',
		);
		$instance = wp_parse_args( (array) $instance, $defaults );
		?>

		<p>
			<label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"><?php echo esc_html__( 'Title', 'mortgage_platform' ); ?></label>
			<input id="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"
				   name="<?php echo esc_attr( $this->get_field_name( 'title' ) ); ?>"
				   value="<?php echo esc_attr( $instance['title'] ); ?>" class="widefat" type="text"/>
		</p>
		<?php
	}


	/**
	 * Updating widget replacing old instances with new.
	 *
	 * @since 1.0.0
	 * @access public
	 *
	 * @param array $new_instance new instance
	 * @param array $old_instance old instance
	 *
	 * @return array
	 */
	public function update( $new_instance, $old_instance ) {
		$instance          = $old_instance;
		$instance['title'] = ( ! empty( $new_instance['title'] ) ) ? sanitize_text_field( $new_instance['title'] ) : '';

		return $instance;
	}
}

Top ↑

Methods Methods

  • __construct — CalculatorWidget constructor.
  • form — Widget Backend.
  • update — Updating widget replacing old instances with new.
  • widget — Widget init.

Top ↑

Changelog Changelog

Changelog
Version Description
1.0.0 Introduced.