I have set up a Custom Post Type called "Portfolio". If I view the CPT's Archive page without adding any posts to it (/portfolio or /?post_type=portfolio), it returns a 404 page. Is there a way to show the archive page but personalize the message? Ie "there are currently no portfolio items here right now".

As soon as I add 1 post into the portfolio custom post type, the archive page loads fine.

Here are other posts that match my issue


Custom Post Type Archives with 0 Posts Redirects as 404

2 Answers 2


what have you set the "has_archive" option to in your CPT? Also, make sure to reset your permalinks.

As for putting a customized message, you can create an archive template specific to that CPT. If the CPT is "portfolio", then you can create a template called "archive-portfolio.php" and customize it as you see fit.


I also had this issue when the filters on the archive page are getting empty results.

function empty_archive_404_template( $template = '' ){
    global $wp_query;
    if ( isset( $wp_query->query['YOUR_TAXONOMY_NAME'] ) ) {
        if ( isset( $wp_query->query['post_type'] ) ) {
            $located = locate_template( 'archive-' . $wp_query->query['post_type'] . '.php', false );
            $template = $located !== '' ? $located : locate_template( 'archive.php', false );
        } else {
            $template = locate_template( 'archive.php', false );

    return $template;
add_filter( '404_template', 'empty_archive_404_template' );

The function will check if the query is for a specific taxonomy YOUR_TAXONOMY_NAME replace this part with the slug of your taxonomy. Then we check the current post type to check if there is a specific template file. If there is none we will default back to the archive.php. If you add this function to your functions.php it will stay on the archive template when your taxonomy has no results.

  • 1
    Can you explain the code you added here? Is this an answer or an example of code that relates to the question? Aug 20, 2019 at 20:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.