Custom Post Type Custom Archive Page Not Working

From what it sounds like, the archive for your “portfolio” custom post type works if it lists all portfolio posts, but if you click on your custom taxonomy within a post, it goes to the default archive.php.

Since this is custom taxonomy, it’s not going to use your archive-portfolio.php because all that does is apply to the listing of all your portfolio posts, not their taxonomy. So what you likely need is a taxonomy template:

Custom Taxonomies Display on the Codex

If you look at the Template Hierarchy section on the Codex, you’ll see that when WordPress gets to an archive – it looks for several files before defaulting to archive.php. That order is:

  1. taxonomy-{taxonomy}-{term}.php
  2. taxonomy-{taxonomy}.php
  3. taxonomy.php
  4. archive.php <– Where you’re defaulting because the above templates do not exist
  5. index.php

Hope that helps! 🙂