File: /home/clinicamaciel/www/index/wp-content/themes/bedentist/inc/widgets/about/class-about-widget.php
<?php
/**
* About Be_Dentist widget.
*
* @package Be_Dentist
*/
if ( ! class_exists( 'Be_Dentist_About_Widget' ) ) {
class Be_Dentist_About_Widget extends Cherry_Abstract_Widget {
/**
* Constructor.
*/
public function __construct() {
$this->widget_cssclass = 'widget-about';
$this->widget_description = esc_html__( 'Display an information about your site.', 'be_dentist' );
$this->widget_id = 'be_dentist_widget_about';
$this->widget_name = esc_html__( 'About Dentist', 'be_dentist' );
$this->settings = array(
'title' => array(
'type' => 'text',
'value' => '',
'label' => esc_html__( 'Title:', 'be_dentist' ),
),
'media_id' => array(
'type' => 'media',
'multi_upload' => false,
'library_type' => 'image',
'upload_button_text' => esc_html__( 'Upload', 'be_dentist' ),
'value' => '',
'label' => esc_html__( 'Logo:', 'be_dentist' ),
),
'enable_tagline' => array(
'type' => 'checkbox',
'value' => array(
'enable_tagline' => 'true',
),
'options' => array(
'enable_tagline' => esc_html__( 'Enable Tagline:', 'be_dentist' ),
),
),
'content' => array(
'type' => 'textarea',
'placeholder' => esc_html__( 'Text or HTML', 'be_dentist' ),
'value' => '',
'label' => esc_html__( 'Content:', 'be_dentist' ),
'sanitize_callback' => 'wp_filter_post_kses',
),
);
parent::__construct();
}
/**
* Widget function.
*
* @see WP_Widget
* @since 1.0.1
* @param array $args
* @param array $instance
*/
public function widget( $args, $instance ) {
if ( empty( $instance['media_id'] ) ) {
return;
}
if ( $this->get_cached_widget( $args ) ) {
return;
}
ob_start();
$this->setup_widget_data( $args, $instance );
$this->widget_start( $args, $instance );
$title = ! empty( $instance['title'] ) ? $instance['title'] : $this->settings['title']['value'];
$media_id = absint( $instance['media_id'] );
$src = wp_get_attachment_image_src( $media_id, 'medium' );
$site_name = esc_attr( get_bloginfo( 'name' ) );
$home_url = esc_url( home_url( '/' ) );
$logo_url = $logo_width = $logo_height = '';
if ( false !== $src ) {
$logo_url = esc_url( $src[0] );
}
$content = $this->use_wpml_translate( 'content' );
$content = ! empty( $instance['content'] ) ? $instance['content'] : $this->settings['content']['value'];
/** This filter is documented in wp-includes/post-template.php */
$content = apply_filters( 'the_content', $content );
$content = wp_unslash( $content );
$tagline = '';
$tagline_enabled = ( ! empty( $instance['enable_tagline'] ) ) ? $instance['enable_tagline'] : false;
if ( is_array( $tagline_enabled ) && 'true' === $tagline_enabled['enable_tagline'] ) {
$tagline_enabled = true;
} else {
$tagline_enabled = false;
}
if ( $tagline_enabled ) {
$format = apply_filters( 'be_dentist_about_widget_tagline_format', '<p>%s</p>', $this->settings, $this->args );
$_tagline = get_bloginfo( 'description', 'display' );
$tagline = ( ! empty( $_tagline ) ) ? sprintf( $format, $_tagline ) : '';
}
$template = locate_template( 'inc/widgets/about/views/about.php', false, false );
if ( $template ) {
include $template;
}
$this->widget_end( $args );
$this->reset_widget_data();
echo $this->cache_widget( $args, ob_get_clean() );
}
}
}
add_action( 'widgets_init', 'be_dentist_register_about_widget' );
function be_dentist_register_about_widget() {
register_widget( 'Be_Dentist_About_Widget' );
}