id_base, __( 'Astra: Address', 'astra-widgets' ), array( 'classname' => $this->id_base, 'description' => __( 'Display Address.', 'astra-widgets' ), ), array( 'id_base' => $this->id_base, ) ); add_action( 'wp_enqueue_scripts', array( $this, 'register_scripts' ) ); } /** * Register scripts * * @return void */ function register_scripts() { /* Directory and Extension */ $file_prefix = ( SCRIPT_DEBUG ) ? '' : '.min'; $dir_name = ( SCRIPT_DEBUG ) ? 'unminified' : 'minified'; $js_uri = ASTRA_WIDGETS_URI . 'assets/js/' . $dir_name . '/'; $css_uri = ASTRA_WIDGETS_URI . 'assets/css/' . $dir_name . '/'; wp_register_style( 'astra-widgets-' . $this->id_base, $css_uri . 'astra-widget-address' . $file_prefix . '.css' ); } /** * Frontend setup * * @param array $args Widget arguments. * @param array $instance Widget instance. * @return void */ function _front_setup( $args, $instance ) { // Set stored data. $this->stored_data = $instance; // Enqueue Scripts. wp_enqueue_style( 'astra-widgets-' . $this->id_base ); // Enqueue dynamic Scripts. wp_add_inline_style( 'astra-widgets-' . $this->id_base, $this->get_dynamic_css() ); } /** * Widget * * @param array $args Widget arguments. * @param array $instance Widget instance. * @return void */ function widget( $args, $instance ) { $this->_front_setup( $args, $instance ); $title = apply_filters( 'widget_title', $instance['title'] ); $style = isset( $instance['style'] ) ? $instance['style'] : 'stack'; $social_icons = isset( $instance['display-icons'] ) ? $instance['display-icons'] : false; $address = isset( $instance['address'] ) ? $instance['address'] : ''; $phone = isset( $instance['phone'] ) ? $instance['phone'] : ''; $fax = isset( $instance['fax'] ) ? $instance['fax'] : ''; $email = isset( $instance['email'] ) ? $instance['email'] : ''; // Before Widget. echo $args['before_widget']; if ( $title ) { echo $args['before_title'] . $title . $args['after_title']; } ?>
'text', 'id' => 'title', 'name' => __( 'Title:', 'astra-widgets' ), 'default' => ( isset( $instance['title'] ) && ! empty( $instance['title'] ) ) ? $instance['title'] : '', ), array( 'name' => 'Style', 'id' => 'style', 'type' => 'select', 'default' => ( isset( $instance['style'] ) && ! empty( $instance['style'] ) ) ? $instance['style'] : 'stack', 'options' => array( 'inline' => __( 'Inline', 'astra-widgets' ), 'stack' => __( 'Stack', 'astra-widgets' ), ), ), array( 'type' => 'checkbox', 'id' => 'display-icons', 'name' => __( 'Display Icons?', 'astra-widgets' ), 'default' => ( isset( $instance['display-icons'] ) && ! empty( $instance['display-icons'] ) ) ? $instance['display-icons'] : false, ), array( 'type' => 'textarea', 'id' => 'address', 'name' => __( 'Address:', 'astra-widgets' ), 'default' => ( isset( $instance['address'] ) && ! empty( $instance['address'] ) ) ? $instance['address'] : '', ), array( 'type' => 'text', 'id' => 'phone', 'name' => __( 'Phone:', 'astra-widgets' ), 'default' => ( isset( $instance['phone'] ) && ! empty( $instance['phone'] ) ) ? $instance['phone'] : '', ), array( 'type' => 'text', 'id' => 'fax', 'name' => __( 'FAX:', 'astra-widgets' ), 'default' => ( isset( $instance['fax'] ) && ! empty( $instance['fax'] ) ) ? $instance['fax'] : '', ), array( 'type' => 'text', 'id' => 'email', 'name' => __( 'Email:', 'astra-widgets' ), 'default' => ( isset( $instance['email'] ) && ! empty( $instance['email'] ) ) ? $instance['email'] : '', ), array( 'type' => 'color', 'id' => 'icon_color', 'name' => __( 'Icon Color', 'astra-widgets' ), 'default' => ( isset( $instance['icon_color'] ) && ! empty( $instance['icon_color'] ) ) ? $instance['icon_color'] : '#fefefe', ), array( 'type' => 'number', 'id' => 'space_btn_icon_text', 'name' => __( 'Space Between Icon & Text:', 'astra-widgets' ), 'unit' => 'Px', 'default' => ( isset( $instance['space_btn_icon_text'] ) && ! empty( $instance['space_btn_icon_text'] ) ) ? $instance['space_btn_icon_text'] : '', ), array( 'type' => 'number', 'id' => 'space_btn_address_fields', 'name' => __( ' Space Between Address Fields:', 'astra-widgets' ), 'unit' => 'Px', 'default' => ( isset( $instance['space_btn_address_fields'] ) && ! empty( $instance['space_btn_address_fields'] ) ) ? $instance['space_btn_address_fields'] : '', ), ); // Generate fields. astra_generate_widget_fields( $this, $fields ); } /** * Dynamic CSS * * @return string */ function get_dynamic_css() { $dynamic_css = ''; $instances = get_option( 'widget_' . $this->id_base ); $id_base = '#' . $this->id; if ( array_key_exists( $this->number, $instances ) ) { $instance = $instances[ $this->number ]; $icon_color = isset( $instance['icon_color'] ) ? $instance['icon_color'] : ''; $space_btn_icon_text = isset( $instance['space_btn_icon_text'] ) ? $instance['space_btn_icon_text'] : ''; $space_btn_address_fields = isset( $instance['space_btn_address_fields'] ) ? $instance['space_btn_address_fields'] : ''; $css_output = array( $id_base . ' .widget-address-field svg' => array( 'fill' => esc_attr( $icon_color ), ), $id_base . ' .widget-address .widget-address-field .address-meta' => array( 'margin-left' => esc_attr( $space_btn_icon_text ) . 'px', ), $id_base . ' .widget-address .widget-address-field' => array( 'padding-top' => '0', 'padding-bottom' => esc_attr( $space_btn_address_fields ) . 'px', ), $id_base . ' .address .widget-address .widget-address-field:last-child' => array( 'padding-bottom' => '0', ), ); $dynamic_css = astra_widgets_parse_css( $css_output ); return $dynamic_css; } return $dynamic_css; } } endif;