is_archive() returns false on the archives page

I’ve followed the official documentation to create my archives page:

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

Any idea ?

Solutions Collecting From Web of "is_archive() returns false on the archives page"

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.


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).