Title: Simple Yearly Archive
Author: wpseek
Published: <strong>4. Abrëll 2008</strong>
Last modified: 15. Februar 2026

---

Search plugins

![](https://ps.w.org/simple-yearly-archive/assets/banner-772x250.png?rev=479459)

![](https://ps.w.org/simple-yearly-archive/assets/icon-256x256.png?rev=1162212)

# Simple Yearly Archive

 By [wpseek](https://profiles.wordpress.org/alphawolf/)

[Download](https://downloads.wordpress.org/plugin/simple-yearly-archive.zip)

 * [Details](https://ltz.wordpress.org/plugins/simple-yearly-archive/#description)
 * [Reviews](https://ltz.wordpress.org/plugins/simple-yearly-archive/#reviews)
 *  [Installation](https://ltz.wordpress.org/plugins/simple-yearly-archive/#installation)
 * [Development](https://ltz.wordpress.org/plugins/simple-yearly-archive/#developers)

 [Support](https://wordpress.org/support/plugin/simple-yearly-archive/)

## Description

Simple Yearly Archive is a rather neat and simple WordPress plugin that allows you
to **display your archives in a year-based list**. It works mostly like the usual
WP archive, but displays all published posts seperated by their year of publication.
That said, it’s also possible to restrict the output to certain categories, and 
much more.

**See [Usage](https://www.schloebe.de/wordpress/simple-yearly-archive-plugin/#tabwidget-27592)
for examples, available parameters and more.**

**Included languages:**

 * English
 * German (de_DE) (Thanks to me ;-))
 * German (de_DE_formal) (Thanks for contributing formal german language goes to
   [Paul Vogel](https://github.com/pavog))
 * Italian (it_IT) (Thanks for contributing italian language goes to [Gianni Diurno](https://gidibao.net))
 * Russian (ru_RU) (Thanks for contributing russian language goes to [Dimitry German](https://grugl.me))
 * Belorussian (by_BY) (Thanks for contributing belorussian language goes to [Marcis Gasuns](https://www.fatcow.com))
 * Uzbek (uz_UZ) (Thanks for contributing uzbek language goes to [Alexandra Bolshova](https://www.comfi.com))
 * French (fr_FR) (Thanks for contributing french language goes to [Jean-Michel Meyer](https://www.li-an.fr/blog))
 * Chinese (zh_CN) (Thanks for contributing chinese language goes to [Mariana Ma](https://marianama.net))
 * Japanese (ja) (Thanks for contributing japanese language goes to [Chestnut](https://staff.blog.bng.net))
 * Portuguese Brazil (pt_BR) (Thanks for contributing portuguese brazil language
   goes to LucasTolle)
 * Dutch (nl_NL) (Thanks for contributing dutch language goes to Bart Verkerk)
 * Spanish (es) (Spanish translation by [Ibidem Group](https://www.ibidemgroup.com))

[Click here for a demo](https://www.schloebe.de/archiv/)

[Developer on X](https://x.com/wpseek) [Developer on Bluesky](https://bsky.app/profile/cyberblitzbirne.bsky.social)

**Looking for more WordPress plugins? Visit [www.schloebe.de/portfolio/](https://www.schloebe.de/portfolio/)**

## Screenshots

 * [[
 * The options page

## Installation

 1. Download the plugin and unzip it.
 2. Upload the folder simple-yearly-archive/ to your /wp-content/plugins/ folder.
 3. Activate the plugin from your WordPress admin panel.
 4. Installation finished.

See [Usage](https://www.schloebe.de/wordpress/simple-yearly-archive-plugin/#tabwidget-27592)
for examples, available parameters and more.

## FAQ

### Usage

You can add the archive to any post/page by using shortcode. See [Usage](https://www.schloebe.de/wordpress/simple-yearly-archive-plugin/#tabwidget-27592)
for examples, available parameters and more.

### How can I change the posts’ titles?

Just use the filter `sya_the_title`. Example: Add the following to your theme’s `
functions.php`:

    ```
    add_filter( 'sya_the_title', 'my_sya_filter_title', 10, 2 );

    function my_sya_filter_title( $title, $id ) {
        return $id . ' - ' . $title;
    }
    ```

### How can I modify the post links?

Just use the filter `sya_postlink`. Example: Add the following to your theme’s `
functions.php`:

    ```
    add_filter( 'sya_postlink', 'sya_modify_postlinks', 10, 3 );

    function sya_modify_postlinks( $link_html, $post ) {
        $dom = new DOMDocument();
        $dom->loadHtml($link_html);
        $xpath = new DOMXPath($dom);
        $link = $xpath->query("//a")->item(0);
        $link_classes = explode(' ', $link->getAttribute('class'));
        $link_classes[] = 'postyear-' . $post->post_year;
        $link->setAttribute('class', implode(' ', $link_classes));
        return $dom->saveHTML();
    }
    ```

This will add a CSS class with the post year to the post links.

### How can I change the posts’ authors listing (like in supporting the Co-Authors Plus plugin)?

Just use the filter `sya_the_authors`. Example: Add the following to your theme’s`
functions.php`:

    ```
    if( function_exists('get_coauthors') ) {
        add_filter( 'sya_the_authors', 'my_sya_filter_authors', 10, 2 );

        function my_sya_filter_authors( $author, $post ) {
            $coauthors = get_coauthors( $post->ID );
            $authorsCollection = array();
            foreach( $coauthors as $coauthor ) {
                if( $coauthor->display_name ) {
                    $authorsCollection[] = $coauthor->display_name;
                }
            }
            return implode(', ', $authorsCollection);
        }
    }
    ```

### How can I make the posts’ categories list only show child categories?

Just use the filter `sya_categories`. Example: Add the following to your theme’s`
functions.php`:

    ```
    function sya_child_categories( $sya_categories ) {
        return array_filter($sya_categories, function($v, $k) {
            return get_category( $k )->parent > 0;
        }, ARRAY_FILTER_USE_BOTH);
    }
    add_filter( 'sya_categories', 'sya_child_categories', 10, 3 );
    ```

### How can I change query parameters?

Just use the filter `sya_get_posts` that allows you to query for literally anything
using [`WP_Query`](https://developer.wordpress.org/reference/classes/wp_query/parse_query/)
parameters. Add the following snippets to your theme’s `functions.php`.

**Display posts that have “either” of these tags**

    ```
    add_filter( 'sya_get_posts', function() {
        return array(
            'tag' => 'bread,baking'
        );
    });
    ```

**Display posts that match the search term “keyword”**

    ```
    add_filter( 'sya_get_posts', function() {
        return array(
            's' => 'keyword'
        );
    });
    ```

**Display only password protected posts**

    ```
    add_filter( 'sya_get_posts', function() {
        return array(
            'has_password' => true
        );
    });
    ```

**Display only 10 posts**

    ```
    add_filter( 'sya_get_posts', function() {
        return array(
            'numberposts' => 10
        );
    });
    ```

**Display posts tagged with _bob_, under _people_ custom taxonomy**

    ```
    add_filter( 'sya_get_posts', function() {
        return array(
            'tax_query' => array(
                array(
                    'taxonomy' => 'people',
                    'field'    => 'slug',
                    'terms'    => 'bob',
                )
            )
        );
    });
    ```

**Display posts from several custom taxonomies**

    ```
    add_filter( 'sya_get_posts', function() {
        return array(
            'tax_query' => array(
                'relation' => 'AND',
                array(
                    'taxonomy' => 'movie_genre',
                    'field'    => 'slug',
                    'terms'    => array( 'action', 'comedy' ),
                ),
                array(
                    'taxonomy' => 'actor',
                    'field'    => 'term_id',
                    'terms'    => array( 103, 115, 206 ),
                    'operator' => 'NOT IN',
                ),
            )
        );
    });
    ```

**Display posts that are in the _quotes_ category OR have the _quote_ format**

    ```
    add_filter( 'sya_get_posts', function() {
        return array(
            'tax_query' => array(
                'relation' => 'OR',
                array(
                    'taxonomy' => 'category',
                    'field'    => 'slug',
                    'terms'    => array( 'quotes' ),
                ),
                array(
                    'taxonomy' => 'post_format',
                    'field'    => 'slug',
                    'terms'    => array( 'post-format-quote' ),
                ),
            )
        );
    });
    ```

**Display posts that are in the _quotes_ category OR both have the _quote_ post 
format AND are in the _wisdom_ category**

    ```
    add_filter( 'sya_get_posts', function() {
        return array(
            'tax_query' => array(
                'relation' => 'OR',
                array(
                    'taxonomy' => 'category',
                    'field'    => 'slug',
                    'terms'    => array( 'quotes' )
                ),
                array(
                    'relation' => 'AND',
                    array(
                        'taxonomy' => 'post_format',
                        'field'    => 'slug',
                        'terms'    => array( 'post-format-quote' )
                    ),
                    array(
                        'taxonomy' => 'category',
                        'field'    => 'slug',
                        'terms'    => array( 'wisdom' ),
                    )
                )
            )
        );
    });
    ```

Configuration? Parameters? [Head over here](https://www.schloebe.de/wordpress/simple-yearly-archive-plugin/)

## Reviews

![](https://secure.gravatar.com/avatar/fd5a160ea71fbb850ba43f4a12d2cb73c907f93cbe871e304397f0d26d2fd579?
s=60&d=retro&r=g)

### 󠀁[Brilliant](https://wordpress.org/support/topic/brilliant-1659/)󠁿

 [wmconlon](https://profiles.wordpress.org/wmconlon/) 18. Februar 2025

Works perfectly and simple to use.

![](https://secure.gravatar.com/avatar/39cca79da0ef2df925f61035867af468c4e535b1a497b00047bf7e498f2087cd?
s=60&d=retro&r=g)

### 󠀁[Bets of breed archive for wordpress !](https://wordpress.org/support/topic/bets-of-breed-archive-for-wordpress/)󠁿

 [Herve Kabla](https://profiles.wordpress.org/hkabla/) 27. November 2023

This plugin works perfectly, is fully customizable, and can be installed in a couple
of minutes. Great work ! Bravo !

![](https://secure.gravatar.com/avatar/4ce628d6c37c97d8bf7dbe1779249bf47e702d3d1ce415f64d7423a96b2caae9?
s=60&d=retro&r=g)

### 󠀁[Great plugin](https://wordpress.org/support/topic/great-plugin-37294/)󠁿

 [Alain Aubry](https://profiles.wordpress.org/caban13/) 27. Juli 2023

I have been using it for many years, it is especially useful when you have a long
history of posts, it will make your post lists more manageable. It is a great plugin
and with great support !

![](https://secure.gravatar.com/avatar/6a84e66881d73913474eb0a3a08e4ced02fabf1e48c775f56ed8e5ca4027e945?
s=60&d=retro&r=g)

### 󠀁[Very usefull](https://wordpress.org/support/topic/very-usefull-503/)󠁿

 [Whigfield](https://profiles.wordpress.org/whigfield/) 2. Juni 2023

A simple but very usefully plugin.

![](https://secure.gravatar.com/avatar/6ce4ab30bd2c46a9fdaaf31c5b7c44219dd533fbb3a9a22101c5bce2e81f548b?
s=60&d=retro&r=g)

### 󠀁[Does what it’s supposed to do](https://wordpress.org/support/topic/does-what-its-supposed-to-do-68/)󠁿

 [xampit](https://profiles.wordpress.org/xampit/) 21. August 2022

Small plugin, that I use for a yearly archive. Can be easily customized as it provides
some options. E. g. make the year a h3/h4 by using the before and after fields.

![](https://secure.gravatar.com/avatar/7ee4bf0cdb15d4649f59a26f95a4dfbda3b99f501b99ec0d1fc06368a9b0e8ff?
s=60&d=retro&r=g)

### 󠀁[Fits my needs perfectly](https://wordpress.org/support/topic/fits-my-needs-perfectly-7/)󠁿

 [ranfanwp19](https://profiles.wordpress.org/ranfanwp19/) 14. Mäerz 2021

Great plugin, output looks beautiful, customizable options, thank you!

 [ Read all 30 reviews ](https://wordpress.org/support/plugin/simple-yearly-archive/reviews/)

## Contributors & Developers

“Simple Yearly Archive” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ wpseek ](https://profiles.wordpress.org/alphawolf/)

“Simple Yearly Archive” has been translated into 2 locales. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/simple-yearly-archive/contributors)
for their contributions.

[Translate “Simple Yearly Archive” into your language.](https://translate.wordpress.org/projects/wp-plugins/simple-yearly-archive)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/simple-yearly-archive/),
check out the [SVN repository](https://plugins.svn.wordpress.org/simple-yearly-archive/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/simple-yearly-archive/)
by [RSS](https://plugins.trac.wordpress.org/log/simple-yearly-archive/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 2.2.4

 * Split german translation into informal and formal
 * WordPress 6.9 compatibility
 * Code improvements

#### 2.2.3

 * WordPress 6.7 compatibility

#### 2.2.2

 * Revert type hinting to support older versions of PHP

#### 2.2.1

 * Revert PHP8 requirement

#### 2.2.0

 * Code improvements

#### 2.1.9

 * Fixed Admin+ Stored XSS vulnerability

#### 2.1.8

 * Added filters `sya_yearanchor` and `sya_postlink`

#### 2.1.7

 * Even more improved excerpt generation 🙂

#### 2.1.6

 * Improved excerpt generation
 * WordPress 5.9 compatibility

#### 2.1.5

 * Added several HTML classes to the plugin output HTML to be targeted with CSS

#### 2.1.2

 * WordPress 5.3 compatibility

#### 2.1.1

 * Minor bugfix for the `the_title` filter

#### 2.1.0

 * Added the filters `sya_categories` and `sya_tags`
 * Minor fixes

#### 2.0.2

 * WordPress 4.8 compatibility

#### 2.0.1

 * Removed printing out the module name and version as a HTML comment

#### 2.0.0

 * Added filter `sya_get_posts` so you can query for literally anything using [`WP_Query`](https://developer.wordpress.org/reference/classes/wp_query/parse_query/)
   parameters! See examples [here](https://wordpress.org/plugins/simple-yearly-archive/faq/)

#### 1.9.0

 * Added option to show tags after each post
 * Localizations updated

#### 1.8.3

 * Settings page optimizations
 * Localizations updated
 * Bug fixes

#### 1.8.2

 * WordPress 4.7 compatibility
 * PHP 7 compatibility

#### 1.8.1

 * Fixed an issue with (post type) attachment not being listed
 * Minor bug fixes
 * Code cleanup

#### 1.8.0

 * Added the possibility to include more than one custom post type

#### 1.7.5

 * Polylang support

#### 1.7.4

 * Added a filter `sya_the_authors` so you can filter the post’s authors listing
   before output (e.g. support for the Co-Authors Plus plugin)
 * Minor bug fixes

#### 1.7.3

 * Added a filter `sya_the_title` so you can filter the post’s title before output
 * Minor bug fixes

#### 1.7.2

 * IMPORTANT: Date format changed to reflect localized date strings. Please review
   and update your date string in the plugin’s settings!
 * Code cleanup
 * Localizations updated

#### 1.7.1.2

 * Permission error fix (thanks outtareach!)
 * Code cleanup
 * Localizations updated

#### 1.7.1.1

 * Code cleanup

#### 1.7.1

 * Post thumbnails support!
 * Code cleanup and bugfixing

#### 1.7.0.2

 * Fixed an issue with the plugin’s textdomain not loading

#### 1.7.0.1

 * Added legacy direct PHP invocation again: `<?php simpleYearlyArchive(); ?>` (
   sorry!)
 * Fixed an issue where the anchored years weren’t displayed

#### 1.7.0

 * Code rewrite (please let me know if you experience something is broken)
 * You can now specify a custom time period for a period like `[SimpleYearlyArchive
   type="1249077600-1280527200"]` where start and end point are UNIX timestamps
 * Increased performance

#### 1.6.2.5

 * Added a CSS class post id to the post links so people can do more custom things
   with CSS or javascript

#### 1.6.2.2

 * Hide comments count for posts with comments closed

#### 1.6.2.1

 * Fixed a bug that did not reverse post order if “Reverse order” was selected

#### 1.6.2

 * Improved WPML support

#### 1.6.1

 * Initial WPML support (thanks to Emilie from bornbilingue.com for the help!)

#### 1.6.0

 * Support for post types

#### 1.5.0

 * Significant changes that result in a lot less memory consumption on blogs with
   1000+ posts
 * Code cleanup

#### 1.4.3.3

 * Fixed another PHP notice. Didn’t have enough coffee.

#### 1.4.3.2

 * Fixed a PHP notice when using exclude/include parameter (thanks Lea!)

#### 1.4.3.1

 * Fixed an issue that caused to load unsecure resources on SSL enabled sites

#### 1.4.3

 * Fixed a bug that caused listing “auto draft” posts

#### 1.4.2

 * Fixed a bug with the anchored years overview at the top

#### 1.4.1

 * Added a date wrapper span so you can hide the date via CSS

#### 1.4

 * New option “Collapsible years?” added

#### 1.3.3

 * Readme.txt updated to be more compliant with the readme.txt standard
 * Moved screenshots off the package to the assets/ folder

#### 1.3.2

 * Maintenance update #2 ( Dominik 🙂 )

#### 1.3.1

 * Maintenance update

#### 1.3.0

 * Option to reverse the order of the year/posts list output

#### 1.2.9

 * Maintenance update

#### 1.2.8

 * A few fixes that resulted from the previous versions

#### 1.2.7

 * Character encoding for new date format string fixed
 * Fixed a bug that occured when “Anchored overview at the top” was checked while“
   Linked years” was unchecked (Thanks Kroom!)
 * Added an admin notice when someone didn’t already switch to the new date format
   string

#### 1.2.6

 * IMPORTANT: Date format changed to reflect localized date strings. Please update
   your date string in the plugin’s settings!

#### 1.2.5

 * Optional anchored links to each year at the top

#### 1.2.4

 * Archive links now working again

#### 1.2.3

 * Minor performance improvements
 * Min version set to 2.3

#### 1.2.2

 * Private posts are now prefixed with “Private” in order to follow WordPress standards

#### 1.2.1

 * Fixed a warning message

#### 1.2

 * Date format can be set in the shortcode like `[SimpleYearlyArchive ... dateformat
   ="d/m"]`

#### 1.1.50

 * Changed post authot output from user_login to display_name

#### 1.1.40

 * Added japanese localization (Thanks to [Chestnut](https://staff.blog.bng.net))!)

#### 1.1.31

 * Fixed an issue on server configurations having PHP short tags disabled

#### 1.1.30

 * Fixed an issue that threw an ‘Missing argument 3’ warning in PHP
 * Added `apply_filters('sya_archive_output', $output)` filter hook so you can alter
   the HTML output before it’s being returned
 * Added french localization (Thanks to [Jean-Michel Meyer](https://www.li-an.fr/blog)!)

#### 1.1.20

 * Added the `include` parameter allowing to include categories instead of only 
   excluding them
 * code cleanup

#### 1.1.10

 * Minor Code Changes

#### 1.1.9

 * Fixed issue on displaying post count for each year when there are excluded categories

#### 1.1.8

 * Some options page changes
 * Improved compatibility with WP 2.7
 * Code improvements

#### 1.1.7

 * Some options page changes
 * Improved compatibility with WP 2.7
 * Code improvements

#### 1.1.5

 * Exclude code changed that works like the WordPress method now (which makes this
   archive plugin unique 😉 )
 * Private and password-protected posts now show up depending on user capibilities

#### 1.1.2

 * Markup is now html strict compatible

#### 1.1.1

 * Option added to display post author after each post
 * Added italian localization (Thanks to Gianni Diurno!)

#### 1.1.0

 * Improved compatibility with WordPress 2.6
 * Added shortcode compatibility
 * Minor html changes

#### 1.0.1

 * Improved compatibility with WordPress 2.2.x
 * Fixed issue that occasionally occured with the inline function

#### 1.0

 * Option added to display categories after each post

#### 0.98

 * Fixed error, that prevented backend localization

#### 0.97

 * Simple Yearly Archive options page has WP 2.5 style (if used in WP 2.5+) (see
   screenshots)
 * Performance improvements

#### 0.96

 * Year headings do not show if there are no posts in that year (Thanks to Stephanie
   C. Leary!)

#### 0.95

 * Option “Show optional Excerpt” added
 * Option “Max. chars of Excerpt” added
 * Option “Indentation of Excerpt” added

#### 0.91

 * WP 2.3 compatibility on exclude cateogries
 * minor language fixes
 * minor fixes and code optimisation

#### 0.9

 * Added a bunch of new options

#### 0.82

 * gettext-ready, plugins like language-switcher or polyglot are supported now

#### 0.81

 * Now compatible with the Admin Drop Down Menu Plugin, which caused to not to be
   able to access the options page

#### 0.8

 * New options page in WordPress administration
 * plugin can now be called from within a page/post

#### 0.7

 * Now it’s possible to show posts from the given date of year only
 * Little fix in get_year_link

#### 0.6

 * 2 parameters added: Display the current year’s posts or the past year’s posts
   only
 * Posts remain sorted in case of changing the post’s timestamp

#### 0.5

 * The plugin has been released

## Meta

 *  Version **2.2.4**
 *  Last updated **2 Méint ago**
 *  Active installations **6 000+**
 *  WordPress version ** 3.7 or higher **
 *  Tested up to **6.9.99**
 *  Languages
 * [English (US)](https://wordpress.org/plugins/simple-yearly-archive/), [French (France)](https://fr.wordpress.org/plugins/simple-yearly-archive/),
   and [Swedish](https://sv.wordpress.org/plugins/simple-yearly-archive/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/simple-yearly-archive)
 * Tags
 * [archive](https://ltz.wordpress.org/plugins/tags/archive/)[archives](https://ltz.wordpress.org/plugins/tags/archives/)
   [gettext](https://ltz.wordpress.org/plugins/tags/gettext/)[wpml](https://ltz.wordpress.org/plugins/tags/wpml/)
   [wp_query](https://ltz.wordpress.org/plugins/tags/wp_query/)
 *  [Advanced View](https://ltz.wordpress.org/plugins/simple-yearly-archive/advanced/)

## Ratings

 4.7 out of 5 stars.

 *  [  28 5-star reviews     ](https://wordpress.org/support/plugin/simple-yearly-archive/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/simple-yearly-archive/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/simple-yearly-archive/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/simple-yearly-archive/reviews/?filter=2)
 *  [  2 1-star reviews     ](https://wordpress.org/support/plugin/simple-yearly-archive/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/simple-yearly-archive/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/simple-yearly-archive/reviews/)

## Contributors

 *   [ wpseek ](https://profiles.wordpress.org/alphawolf/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/simple-yearly-archive/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://www.schloebe.de/donate/)