◦ Comprehensive security
◦ 24/7 support
WordPress Guide → Post → Show All Post Types
How to show all post types on a specific page (WordPress)
WordPress makes it easy to create custom content types—but not so easy to display them together. By default, pages, posts, and custom post types (CPTs) live in separate silos. If you want to create a master listing page or show all content types in one feed, you’ll need to adjust how WordPress queries and displays them.
Let’s walk through the easiest ways to show all post types on a specific page, with or without code.
Get fast, reliable hosting for WordPress
Power your site with the industry’s fastest, most optimized WordPress hosting
Understanding WordPress post types
WordPress content is organized into post types. Each one represents a different structure of content.
- Posts and Pages are built into WordPress by default.
- Custom post types (CPTs) are added by themes, plugins, or custom code to represent content like portfolios, events, products, testimonials, and more.
- Post types are not the same as categories or tags. Post types define structure, while taxonomies define relationships between content.
To show multiple post types on one page, you’ll need to modify how WordPress fetches content—either by using a plugin or customizing the query.
1. Use a plugin to display all post types
If you’re not comfortable writing code, plugins are the easiest and safest way to show multiple post types on a page.
Popular plugins that support custom post types:
- Custom Post Type UI – Lets you register CPTs. While it doesn’t handle display directly, it pairs well with query plugins.
- Content Views – Offers a visual query builder for displaying posts, pages, and CPTs.
- PostX – A block-based plugin with grids and filters that can include any post type.
Example: using Content Views
- Install and activate Content Views.
- Go to Content Views → Add New View.
- Under the Filter Settings, choose which post types to include (e.g. post, page, portfolio).
- Customize layout, number of posts, and sorting options.
- Save your view and copy the shortcode it generates.
- Paste the shortcode into the page where you want all post types to appear.
This method is perfect for beginners and doesn’t require theme edits.
2. Show all post types using custom WP_Query
If you’re building a custom theme or want full control over the output, you can use WP_Query to include multiple post types.
Sample PHP code:
$args = array(
'post_type' => array('post', 'page', 'portfolio', 'event'),
'posts_per_page' => -1
);
$query = new WP_Query($args);
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
echo '<h2>' . get_the_title() . '</h2>';
the_excerpt();
}
wp_reset_postdata();
}How to use it:
- Add this code to a custom page template (e.g., page-all-content.php).
- Assign that template to a specific page in the WordPress editor.
- Customize the post_type array to include your actual CPT names.
This gives you full control over the layout and post types included.
3. Use shortcodes to embed multiple post types
Many plugins offer shortcode options for showing mixed post types.
Example with Display Posts:
[display-posts post_type="post,page,portfolio"]- You can insert this shortcode into any page or post using the block editor.
- Add filters like category, order, or include_excerpt to customize the output.
Shortcodes are ideal if you don’t want to write PHP but still want flexibility.
4. Make sure your post types are public and queryable
Some post types might not show up because they were registered without being public or queryable.
Check the code (or plugin) used to register the CPT. It should include:
'public' => true,
'has_archive' => true,
'publicly_queryable' => true,If you’re using a plugin like Custom Post Type UI:
- Go to CPT UI → Edit Post Types.
- Check the “Public” and “Has Archive” settings.
- Save and re-check your display page.
- Visit Settings → Permalinks and click “Save Changes” to flush rewrite rules.
If your post type isn’t queryable, WordPress will skip it—even in a custom query.
5. Add pagination for better UX
If you’re displaying dozens or hundreds of posts across multiple types, pagination improves load time and usability.
Update your WP_Query:
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'post_type' => array('post', 'page', 'portfolio'),
'posts_per_page' => 10,
'paged' => $paged
);
$query = new WP_Query($args);Add pagination links:
the_posts_pagination(array(
'mid_size' => 2,
'prev_text' => __('« Previous'),
'next_text' => __('Next »'),
));Pagination helps keep your page organized and mobile-friendly.
6. Optimize display with custom layouts or page builders
Not all post types look good in the same format. You can improve usability by customizing the layout for each type.
Options:
- Use PHP conditionals inside your loop:
if (get_post_type() == 'portfolio') {
// Custom markup for portfolio
} else {
// Default markup
}- Use a page builder like Elementor, Spectra, or PostX to build grids, tabs, or filters visually.
- Use plugins like Custom Layouts – Post + Product Grids Made Easy for CPT-friendly designs.
Tailoring the layout makes mixed content easier to navigate.
Bonus: Include post types in WordPress search results
If you’re displaying all post types on one page, users may expect them to show up in site search too.
Method 1: Use a plugin
- Relevanssi, for example, can index custom post types automatically.
- These tools also let you control weighting, taxonomy indexing, and exclude results by type.
Method 2: Add a filter to functions.php
function include_cpts_in_search($query) {
if ($query->is_search && !is_admin()) {
$query->set('post_type', array('post', 'page', 'portfolio',
'event'));
}
return $query;
}
add_filter('pre_get_posts', 'include_cpts_in_search');Just be sure to replace the post types with your own.
Next steps for showing all post types on a WordPress page
Displaying all post types on a single page helps unify your content and create powerful landing or archive pages. Whether you use a plugin or custom code, the key is making sure your post types are queryable and styled in a way that’s user-friendly.
Start by deciding how much control you want: plugins offer quick setup, while code gives you precision and scalability.
Ready to upgrade your WordPress experience? Professional hosting improves speeds, security, and reliability for a website and a brand that people find engaging and trustworthy.
Don’t want to deal with server management and maintenance? Our fully managed hosting for WordPress is the best in the industry. Our team are not only server IT experts, but WordPress hosting experts as well. Your server couldn’t be in better hands.
Click through below to explore all of our hosting for WordPress options, or chat with a WordPress expert right now to get answers and advice.
Additional resources
What is WordPress? →
A complete beginner’s guide to WordPress.org
How to embed a Twitter thread in WordPress posts →
Learn how to recover or recreate deleted WordPress categories to restore site organization.
Beginner’s Guide to WordPress themes →
Learn how they work, what to look for, how to choose, and more