is_archive() returns false on the archives page

I’ve followed the official documentation to create my archives page: http://codex.wordpress.org/Creating_an_Archive_Index

It works fine exept that “is_archive() returns false when I’m viewing this page.

Read More

Any idea ?

Related posts

Leave a Reply

2 comments

  1. Because an “archives” Page is not an archive index of blog Posts, but rather a Page.

    An “archives” page is simply a custom Page template, which applies to a static Page.

    The is_archive() conditional returns true if an archive index is being displayed. An archive index page displays Posts, not static Pages.

    EDIT

    Instead of using if ( is_archive() ), try using if ( is_page( 'archives' ) ) (assuming you’ve named your static Page Archives).

    Alternately, you could use if ( is_page_template( 'archives.php' ) ) (assuming you’ve named your template file as archives.php).

  2. The above solutions didn’t work for me because I was doing this inside the loop. Instead I checked !is_single() to determine if I was on the post or the index :

    if ( 'post' == $ptype && !is_single() )