'sidebar1',
'name' => __('Main Sidebar','mywiki'),
'description' => __('Used on every page.','mywiki'),
'before_widget' => '
',
'after_widget' => '
',
'before_title' => '',
));
register_sidebar(array(
'id' => 'footer1',
'name' => __('Footer Content Area 1','mywiki'),
'description' => __('Used on Footer.','mywiki'),
'before_widget' => '',
'after_widget' => '
',
'before_title' => '',
));
register_sidebar(array(
'id' => 'footer2',
'name' => __('Footer Content Area 2','mywiki'),
'description' => __('Used on Footer.','mywiki'),
'before_widget' => '',
'after_widget' => '
',
'before_title' => '',
));
register_sidebar(array(
'id' => 'footer3',
'name' => __('Footer Content Area 3','mywiki'),
'description' => __('Used on Footer.','mywiki'),
'before_widget' => '',
'after_widget' => '
',
'before_title' => '',
));
}
add_action('widgets_init', 'mywiki_widgets_init');
add_action( 'widgets_init', 'mywiki_popular_load_widgets' );
function mywiki_popular_load_widgets() {
register_widget( 'mywiki_popular_widget' );
register_widget( 'mywiki_recentpost_widget' );
}
/** Define the Widget as an extension of WP_Widget **/
class mywiki_popular_widget extends WP_Widget {
function __construct() {
/* Widget settings. */
$mywiki_widget_ops = array( 'classname' => 'widget_popular', 'description' => __('Displays most popular posts by comment count','mywiki'));
/* Widget control settings. */
$mywiki_control_ops = array( 'id_base' => 'popular-widget' );
/* Create the widget. */
parent::__construct( 'popular-widget', __('Popular Posts','mywiki'), $mywiki_widget_ops, $mywiki_control_ops );
}
// Limit to last 30 days
function filter_where( $where = '' ) {
// posts in the last 30 days
$where .= " AND post_date > '" . date('Y-m-d', strtotime('-' . $instance['days'] .' days')) . "'";
return $where;
}
function widget( $args, $instance ) {
extract( $args );
echo $before_widget;
if( !empty( $instance['title'] ) ) echo $before_title .''.esc_html($instance['title']).'
' . $after_title;
$loop_args = array(
'posts_per_page' => (int) $instance['count'],
'orderby' => 'comment_count'
);
if( 0 == $instance['days'] ) {
$loop = new WP_Query( $loop_args );
}else{
add_filter( 'posts_where', array( $this, 'filter_where' ) );
$loop = new WP_Query( $loop_args );
remove_filter( 'posts_where', array( $this, 'filter_where' ) );
}echo "";
if( $loop->have_posts() ): while( $loop->have_posts() ): $loop->the_post(); global $post;
?>-
";
echo $after_widget;
}
function update( $new_instance, $old_instance ) {
$instance = $old_instance;
/* Strip tags (if needed) and update the widget settings. */
$mywiki_instance['title'] = esc_attr( $new_instance['title'] );
$mywiki_instance['count'] = (int) $new_instance['count'];
$mywiki_instance['days'] = (int) $new_instance['days'];
return $instance;
}
function form( $instance ) {
/* Set up some default widget settings. */
$mywiki_defaults = array( 'title' => '', 'count' => 5, 'days' => 30 );
$instance = wp_parse_args( (array) $instance, $mywiki_defaults ); ?>
'widget_recentpost', 'description' => __('Displays most recent posts by post count','mywiki') );
/* Widget control settings. */
$mywiki_control_ops = array( 'id_base' => 'recent-widget' );
/* Create the widget. */
parent::__construct( 'recent-widget', __('Recent Posts','mywiki'), $mywiki_widget_ops, $mywiki_control_ops );
}
function widget( $args, $instance ) {
extract( $args );
echo $before_widget;
if( !empty( $instance['title'] ) ) echo $before_title .''.esc_html($instance['title']).'
' . $after_title;
$mywiki_loop_args = array(
'posts_per_page' => (int) $instance['count'],
'orderby' => 'DESC'
);
$mywiki_loop = new WP_Query( $mywiki_loop_args );
echo "";
if( $mywiki_loop->have_posts() ): while( $mywiki_loop->have_posts() ): $mywiki_loop->the_post(); global $post;
?>-
";
echo $after_widget;
}
function update( $new_instance, $old_instance ) {
$mywiki_instance = $old_instance;
/* Strip tags (if needed) and update the widget settings. */
$mywiki_instance['title'] = esc_attr( $new_instance['title'] );
$mywiki_instance['count'] = (int) $new_instance['count'];
return $mywiki_instance;
}
function form( $instance ) {
/* Set up some default widget settings. */
$mywiki_defaults = array( 'title' => '', 'count' => 5, 'days' => 30 );
$instance = wp_parse_args( (array) $instance, $mywiki_defaults ); ?>
'.__('Read more','mywiki').'';
}
add_filter('get_the_excerpt', 'mywiki_trim_excerpt');