Hello pstockley,
This looks like they have written a custom page on the site you linked to and have a ‘custom post type’ running for the books.
If you have a custom post type on your stie, then the WordPress system will look for a php file called archive-[postype].php
where you can code up the loop as you want.
For instance a custom post type of type ‘books’ would looks for archive-books.php
before falling back to archive.php
and then index.php
see for details.
If you have both on your site, it might be worth visiting the Dashboard > Settings > Permalinks and just clicking Save Changes there to make sure your permalinks are up to date.
Let me know if I have the wrong end of the stick.
Drew
Hi Drew,
Thanks for your response.
You are completely right, books is a custom post type and it is being pulled from archive-books.php.
Trouble is I don’t understand how that page knows to load that php file.
Does it just default to call the file since it knows ‘books’ is a custom post type/archive page?
The Permalinks appear to be set to default.
Thanks again!
Hi pstockley,
Yes, that’s it exactly. The WordPress system will just default to that file because it knows it’s an archive page for a custom post type.
Drew
Very interesting – so intuitive!
So then if I wanted to replicate that page on the same website I would have to create a new template file with the same loop because it’s already designated archive-books.php to that page.
Does that sound right? Or do you think there is a better way?
Thanks again!
Can you explain a little more what you are trying to do. When you say replicate the page on the same site, do you mean for a different post type?
I do not think you can have two copies of the same page for the same type of post running on one site.
Let me know a little more about your thinking.
Drew
Yes of course!
I’ve received some feedback from my users that they would like to be able to view all all the books on our site in a single page instead of having to scroll through a dozen pages of this book grid layout.
I could draw up a page and list everything manually, but as I’m sure you can appreciate, it would be much better to have the page dynamically linked to that content type so it can update automatically when we add more books.
I would like to create a view option or a separate page that lists our ~200 books.
So when I say replicate the page, I mean that I want to have an additional archive page (or view option) that lists the same info in a different format.
Thanks again for your help!
Oh, I see.
Good idea. I think the simplest way to achieve that would be to create a ‘Page’ for the new view, but then have a new template in your theme that basically replicates the books-archive.php behaviour. That ‘page’ could easily be added to the menus that way.
To add a specific template for a page you would call it page-[id].php you would need to copy and paste the current code, and then amending it to show all.
Let me know how you get on.
Drew