I thought it might be conflicting with something I had in functions.php, however nothing else was using the name “comics”
There is, here:
// Arguments
$args = array(
'labels' => $labels,
'public' => true,
'menu_icon' => 'dashicons-book-alt',
'hierarchical' => true,
'exclude_from_search' => false,
'has_archive' => true,
'publicly_queryable' => true,
'rewrite' => array( 'slug' => 'comics', 'with_front' => false ), // <-- Here
'supports' => array( 'title', 'page-attributes' ),
);
// Register Comic Pages Post Type
register_post_type('comic-page', $args);
So you have a post type with the slug comics
, which has has_archive
set to true
, meaning that the URL /comics
is being used to display the archive of the comic-page
post type. If you want to customise the template for this archive you should create an archive-comic-page.php
file, as per the template hierarchy.
If for some reason you don’t want this archive, you can set has_archive
to false
to disable it, freeing you up to use /comics
for a page.