Has Archive
msacchetti opened this issue · 3 comments
I cant seem to find a way to register these with Archives. Im not seeing it anywhere in the source code either.
This can only register post types as "pages" without archives it seems.
The class options are the same as the register_post_type
arguments here.
There is an option for has_archive
that by default is set to false
.
When registering your post type you'll need to set this to true
like so:
$books = new CPT('book', [
'has_archive' => true
]);
Hope this helps,
Thanks,
Joe
I think the problem is the theme - I'm using the theme https://github.com/tonik/theme which uses a lot of hooks and actions to load the theme which i read in a previous issue doesnt work right.
@msacchetti A common problem people come across is registering a post type with the class inside an action.
As the class registers actions/filters itself, you'll need to run the CPT code outside of any actions or filters.
If you're registering post types as the Tonik Theme Docs recommend, you'll most likely run into issues using the CPT class.
I'd recommend trying something like this:
namespace App\Theme\Structure;
use function App\Theme\config;
// Include the CPT class
require __DIR__ . '/path/to/CPT.php';
function register_book_post_type()
{
// Register the post type
$books = new CPT('book', [
'has_archive' => true
]);
}
// call the function immeadiately to register post type
// CPT will register the necessary actions/filters
register_book_post_type();
Hope this helps, let me if you solve this.