Instantly share code, notes, and snippets.

Embed
What would you like to do?
Used this to change the output of WordPress' Recent Posts Widget
/**
* Extend Recent Posts Widget
*
* Adds different formatting to the default WordPress Recent Posts Widget
*/
Class My_Recent_Posts_Widget extends WP_Widget_Recent_Posts {
function widget($args, $instance) {
extract( $args );
$title = apply_filters('widget_title', empty($instance['title']) ? __('Recent Posts') : $instance['title'], $instance, $this->id_base);
if( empty( $instance['number'] ) || ! $number = absint( $instance['number'] ) )
$number = 10;
$r = new WP_Query( apply_filters( 'widget_posts_args', array( 'posts_per_page' => $number, 'no_found_rows' => true, 'post_status' => 'publish', 'ignore_sticky_posts' => true ) ) );
if( $r->have_posts() ) :
echo $before_widget;
if( $title ) echo $before_title . $title . $after_title; ?>
<ul>
<?php while( $r->have_posts() ) : $r->the_post(); ?>
<li><?php the_time( 'F d'); ?> - <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; ?>
</ul>
<?php
echo $after_widget;
wp_reset_postdata();
endif;
}
}
function my_recent_widget_registration() {
unregister_widget('WP_Widget_Recent_Posts');
register_widget('My_Recent_Posts_Widget');
}
add_action('widgets_init', 'my_recent_widget_registration');
@zerodburn

This comment has been minimized.

Show comment
Hide comment
@zerodburn

zerodburn Mar 10, 2014

Thanks, I've seen it copied and pasted from core before but not with extends, nice.

zerodburn commented Mar 10, 2014

Thanks, I've seen it copied and pasted from core before but not with extends, nice.

@zionandzion

This comment has been minimized.

Show comment
Hide comment
@zionandzion

zionandzion Jan 19, 2015

Awesome! This + Timber plugins Timber::compile() method is a dream!

zionandzion commented Jan 19, 2015

Awesome! This + Timber plugins Timber::compile() method is a dream!

@ThomasBck

This comment has been minimized.

Show comment
Hide comment
@ThomasBck

ThomasBck May 12, 2015

Thanks for this trick ! it works like a charm

ThomasBck commented May 12, 2015

Thanks for this trick ! it works like a charm

@brunopontes-hotmart

This comment has been minimized.

Show comment
Hide comment
@brunopontes-hotmart

brunopontes-hotmart Apr 5, 2016

Awesome! Thank you!

brunopontes-hotmart commented Apr 5, 2016

Awesome! Thank you!

@socrec

This comment has been minimized.

Show comment
Hide comment
@socrec

socrec Apr 13, 2016

I don't understand where exactly i'm going to those lines of code into? Please help me out, thank you

socrec commented Apr 13, 2016

I don't understand where exactly i'm going to those lines of code into? Please help me out, thank you

@alissoncs

This comment has been minimized.

Show comment
Hide comment
@alissoncs

alissoncs Jul 22, 2016

@socrec you can put this code inside "functions.php" file

alissoncs commented Jul 22, 2016

@socrec you can put this code inside "functions.php" file

@CodeAlb

This comment has been minimized.

Show comment
Hide comment
@CodeAlb

CodeAlb Aug 23, 2016

I have been looking for this long time ago, thank you for sharing...
Why when i change the code like this doesn't work:

// as default it is $show_date

If i wan't to disable the time from costumizer but it disappear even if it is active...

CodeAlb commented Aug 23, 2016

I have been looking for this long time ago, thank you for sharing...
Why when i change the code like this doesn't work:

// as default it is $show_date

If i wan't to disable the time from costumizer but it disappear even if it is active...

@EastSideCode

This comment has been minimized.

Show comment
Hide comment
@EastSideCode

EastSideCode Jan 4, 2017

Great stuff man, thanks!

EastSideCode commented Jan 4, 2017

Great stuff man, thanks!

@krm218

This comment has been minimized.

Show comment
Hide comment
@krm218

krm218 Apr 7, 2017

Thank you for this! Great!

krm218 commented Apr 7, 2017

Thank you for this! Great!

@kjy112

This comment has been minimized.

Show comment
Hide comment
@kjy112

kjy112 Aug 20, 2017

This is great. Thank you for this!

kjy112 commented Aug 20, 2017

This is great. Thank you for this!

@markandcurry

This comment has been minimized.

Show comment
Hide comment
@markandcurry

markandcurry Sep 21, 2017

I was looking everywhere for a place to drop the excerpt beneath the post, but didn't want to do it with a plugin. This is exactly what I needed. Thanks Paul!

markandcurry commented Sep 21, 2017

I was looking everywhere for a place to drop the excerpt beneath the post, but didn't want to do it with a plugin. This is exactly what I needed. Thanks Paul!

@mohammadg

This comment has been minimized.

Show comment
Hide comment
@mohammadg

mohammadg Apr 15, 2018

In my opinion its probably just better to create your own copy of the class and modify it to suit your needs. I made a top posts widget which just extends the base WP_Widget.

mohammadg commented Apr 15, 2018

In my opinion its probably just better to create your own copy of the class and modify it to suit your needs. I made a top posts widget which just extends the base WP_Widget.

@redwolfmendoza

This comment has been minimized.

Show comment
Hide comment
@redwolfmendoza

redwolfmendoza May 10, 2018

Dude! Totally worked! Thanks man.

redwolfmendoza commented May 10, 2018

Dude! Totally worked! Thanks man.

@anwer-456

This comment has been minimized.

Show comment
Hide comment
@anwer-456

anwer-456 Sep 18, 2018

Works like a Charm.Thanks a Million Paulruescher.

anwer-456 commented Sep 18, 2018

Works like a Charm.Thanks a Million Paulruescher.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment