[wp-hackers] Archive Widget for Custom Post Types?

scribu mail at scribu.net
Wed Dec 22 22:12:21 UTC 2010


On Wed, Dec 22, 2010 at 11:50 PM, Anca Mosoiu <anca at anca.tv> wrote:

> As per track #13462 (http://core.trac.wordpress.org/ticket/13462) we are
> supposed to use this filter to achieve the result of listing the archives
> for custom post types, but I'm trying to figure out how to make this work
> only when this code is being called from within my widget.
>
> Do I register the filter in my widget class file?  Or is there something
> else I'm missing?
>

Yes, you add the filter when displaying the widget and then you should
probably remove it.

Something like this:

class My_Widget {
  private $current_instance;

  function widget( $instance ) {
    ...
    $this->current_instance = $instance;

    add_filter( 'getarchives_where', array($this, 'getarchives_where') );
    wp_get_archives();
    remove_filter( 'getarchives_where', array($this, 'getarchives_where') );
  }

  function getarchives_where( $sql ) {
    // Do something with $this->current_instance['post_type']
  }
}


More information about the wp-hackers mailing list