Skip to content

Bits of .NET

Daily micro-tips for C#, SQL, performance, and scalable backend engineering.

  • Asp.Net Core
  • C#
  • SQL
  • JavaScript
  • CSS
  • About
  • ErcanOPAK.com
  • No Access
  • Privacy Policy
Wordpress

WordPress: Create Custom Post Types for Structured Content

- 05.07.26 - ErcanOPAK

📦 Organize Content with Custom Post Types

Blog posts are great. But what about products, portfolios, testimonials? Custom Post Types create tailored content structures.

📝 Register Custom Post Type

// functions.php
function create_post_type() {
    register_post_type('book',
        array(
            'labels' => array(
                'name' => __('Books'),
                'singular_name' => __('Book')
            ),
            'public' => true,
            'has_archive' => true,
            'rewrite' => array('slug' => 'books'),
            'supports' => array('title', 'editor', 'thumbnail', 'excerpt'),
            'menu_icon' => 'dashicons-book'
        )
    );
}
add_action('init', 'create_post_type');

// Flush permalinks after adding
// Go to Settings → Permalinks → Save Changes

🎯 Advanced Custom Post Types

register_post_type('portfolio',
    array(
        'labels' => array(
            'name' => 'Portfolio',
            'add_new' => 'Add New Item',
        ),
        'public' => true,
        'menu_position' => 5,
        'menu_icon' => 'dashicons-portfolio',
        'supports' => array('title', 'editor', 'thumbnail'),
        'taxonomies' => array('category', 'post_tag'),
        'has_archive' => true,
        'rewrite' => array('slug' => 'portfolio-items'),
        'show_in_rest' => true, // Gutenberg ready
    )
);

// Custom Taxonomy for Portfolio
register_taxonomy('portfolio_type', 'portfolio',
    array(
        'labels' => array(
            'name' => 'Types',
            'add_new_item' => 'Add New Type'
        ),
        'hierarchical' => true,
        'show_in_rest' => true,
    )
);

💡 Use Cases

  • Products (e-commerce)
  • Portfolio items
  • Testimonials
  • Events
  • Team members
  • FAQ items
  • Real estate listings

“Custom Post Types organize content perfectly. Products, portfolios, testimonials — all structured. Essential for WordPress development.”

— WordPress Developer

Related posts:

WordPress Pages Break After Theme Update

WordPress: Use REST API to Build Headless WordPress Applications

WordPress: Protect Your Site from Brute Force by Disabling XML-RPC

Post Views: 2

Post navigation

Photoshop: Use Layer Styles for Professional Effects
Kubernetes: Use Secrets to Store Sensitive Data Securely

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

July 2026
M T W T F S S
 12345
6789101112
13141516171819
20212223242526
2728293031  
« Jun    

Most Viewed Posts

  • Get the User Name and Domain Name from an Email Address in SQL (960)
  • How to add default value for Entity Framework migrations for DateTime and Bool (898)
  • How to make theater mode the default for Youtube (857)
  • Get the First and Last Word from a String or Sentence in SQL (840)
  • How to select distinct rows in a datatable in C# (814)
  • How to enable, disable and check if Service Broker is enabled on a database in SQL Server (597)
  • Add Constraint to SQL Table to ensure email contains @ (582)
  • Average of all values in a column that are not zero in SQL (545)
  • How to use Map Mode for Vertical Scroll Mode in Visual Studio (512)
  • Find numbers with more than two decimal places in SQL (460)

Recent Posts

  • C#: Use Using Statements for Resource Management
  • C#: Use Lambda Expressions for Concise Code
  • SQL: Use GROUP BY for Data Aggregation
  • .NET Core: Master Routing for Clean URLs
  • Git: Use Reset to Undo Local Changes
  • Ajax: Use Axios for HTTP Requests
  • JavaScript: Understand Hoisting
  • HTML: Use Web Storage for Client-Side Data
  • CSS: Use Filter Effects for Visual Magic
  • Windows 11: Unlock God Mode for All Settings

Most Viewed Posts

  • Get the User Name and Domain Name from an Email Address in SQL (960)
  • How to add default value for Entity Framework migrations for DateTime and Bool (898)
  • How to make theater mode the default for Youtube (857)
  • Get the First and Last Word from a String or Sentence in SQL (840)
  • How to select distinct rows in a datatable in C# (814)

Recent Posts

  • C#: Use Using Statements for Resource Management
  • C#: Use Lambda Expressions for Concise Code
  • SQL: Use GROUP BY for Data Aggregation
  • .NET Core: Master Routing for Clean URLs
  • Git: Use Reset to Undo Local Changes

Social

  • ErcanOPAK.com
  • GoodReads
  • LetterBoxD
  • Linkedin
  • The Blog
  • Twitter
© 2026 Bits of .NET | Built with Xblog Plus free WordPress theme by wpthemespace.com