%PDF- %PDF-
| Direktori : /var/www/projetos/stb.ind.br/wp-content/themes/maxbizz/inc/frontend/widgets/ |
| Current File : /var/www/projetos/stb.ind.br/wp-content/themes/maxbizz/inc/frontend/widgets/recent-posts.php |
<?php
class maxbizz_recent_news extends WP_Widget {
function __construct() {
parent::__construct(
// Base ID of your widget
'recent_news',
// Widget name will appear in UI
esc_html__('OT Recent Posts', 'maxbizz'),
// Widget description
array( 'description' => esc_html__( 'OT Recent Posts', 'maxbizz' ), )
);
}
// This is where the action happens
public function widget( $args, $instance ) {
// these are the widget options
//$title = apply_filters( 'widget_title', $instance['title'] );
$title = apply_filters( 'widget_title', empty( $instance['title'] ) ? esc_html__( 'Latest News', 'maxbizz' ) : $instance['title'], $instance, $this->id_base );
$date = ! empty( $instance['count'] ) ? '1' : '0';
// before and after widget arguments are defined by themes
echo htmlspecialchars_decode($args['before_widget']);
if ( ! empty( $title ) ){
echo htmlspecialchars_decode($args['before_title']) . $title . htmlspecialchars_decode($args['after_title']);
}?>
<ul class="recent-news clearfix">
<?php
$r = new WP_Query(
/**
* Filters the arguments for the Recent Posts widget.
*
* @since 3.4.0
* @since 4.9.0 Added the `$instance` parameter.
*
* @see WP_Query::get_posts()
*
* @param array $args An array of arguments used to retrieve the recent posts.
* @param array $instance Array of settings for the current widget.
*/
apply_filters(
'widget_posts_args',
array(
'posts_per_page' => $instance['posts_per_page'],
'no_found_rows' => true,
'post_status' => 'publish',
'ignore_sticky_posts' => true,
),
$instance
)
);
if ( ! $r->have_posts() ) {
return;
}
foreach ( $r->posts as $recent_post ) : ?>
<?php
$post_title = get_the_title( $recent_post->ID );
$post_thumb = get_the_post_thumbnail( $recent_post->ID, 'thumbnail' );
$title = ( ! empty( $post_title ) ) ? $post_title : __( '(no title)' );
?>
<li class="clearfix">
<?php if( $post_thumb ) { ?>
<div class="thumb">
<a href="<?php the_permalink( $recent_post->ID ); ?>">
<?php echo $post_thumb; ?>
</a>
</div>
<?php } ?>
<div class="entry-header">
<h6>
<a href="<?php the_permalink( $recent_post->ID ); ?>"><?php echo $title; ?></a>
</h6>
<?php if($date) { ?>
<span class="post-on">
<span class="entry-date"><?php echo get_the_date( '', $recent_post->ID ); ?></span>
</span>
<?php } ?>
</div>
</li>
<?php endforeach; ?>
</ul>
<?php
echo htmlspecialchars_decode($args['after_widget']);
}
public function update( $new_instance, $old_instance ) {
$instance = $old_instance;
$instance['title'] = strip_tags($new_instance['title']);
$instance['count'] = !empty($new_instance['count']) ? 1 : 0;
$instance['posts_per_page'] = ( ! empty( $new_instance['posts_per_page'] ) ) ? strip_tags( $new_instance['posts_per_page'] ) : '';
return $instance;
}
// Widget Backend
public function form( $instance ) {
// Check values
$title = isset( $instance['title'] ) ? $instance['title'] : esc_html( 'Latest News', 'maxbizz' );
$count = isset($instance['count']) ? (bool) $instance['count'] :false;
$posts_per_page = isset( $instance['posts_per_page'] ) ? $instance['posts_per_page'] : 3;
// Widget admin form
?>
<p>
<label><?php esc_html_e( 'Title:', 'maxbizz' ); ?></label>
<input class="widefat" id="<?php echo esc_attr($this->get_field_id('title')); ?>" name="<?php echo esc_attr($this->get_field_name('title')); ?>" type="text" value="<?php echo esc_attr($title); ?>" />
</p>
<p>
<label><?php esc_html_e( 'Number of posts to show:', 'maxbizz' ); ?></label>
<input size="3" class="widefat" id="<?php echo esc_attr($this->get_field_id('posts_per_page')); ?>" name="<?php echo esc_attr($this->get_field_name('posts_per_page')); ?>" type="text" value="<?php echo esc_attr($posts_per_page); ?>" />
<br />
</p>
<p>
<label>
<input type="checkbox" class="checkbox" id="<?php echo esc_attr($this->get_field_id('count')); ?>" name="<?php echo esc_attr($this->get_field_name('count')); ?>"<?php checked( $count ); ?> />
<?php esc_html_e( 'Show date time', 'maxbizz' ); ?>
</label>
</p>
<?php
}
} // Class wpb_widget ends here
// Register and load the widget
function maxbizz_wpb_recent_news() {
register_widget( 'maxbizz_recent_news' );
}
add_action( 'widgets_init', 'maxbizz_wpb_recent_news' );