One way to do it is with the WordPress Template Hierarchy. If your category names/slugs are not likely to change you can have a separate template for each category. For example:
category-books.php // will be loaded when viewing 'Books' category
category-magazines-and-newspapers.php // will load for 'Magazines and Newspapers' category
This way you can customize each category view as much as you’d like.
As for content.php
, it’s just a way to abstract the logic (of displaying an individual article) and to use it in many different places by simply including it on the page (with the help of get_template_part
function). You can always customize this template portion as well by creating content-books.php
, content-magazines.php
and including them in your various templates.