WordPress Archive Page for Custom Post Type

Posted on August 30, 2017 at 2:36 pm

Get archive link for a specific post type:

<a href="<?php echo get_post_type_archive_link( 'books' ); ?>">Books List</a>

Set archive permalink for a custom post type when registering the cpt:

$args = array(
    'has_archive' => 'books-list', // can be "true" or the permalink string
register_post_type( 'books' , $args );

Then create a page with the same permalink and it will be indexed in Yoast SEO sitemap.

The archive permalink now should be like http://www.site.com/books-list/

Pagination permalink will be like http://www.site.com/books-list/page/2/

Create a file named archive-books.php to create a custom page template to list books:

Custom Post Types – Archive Index Page

Of course, “books” is just a random name for the custom post type.

Receive updates via email

Other Posts

Updated Posts