What is Pods plugin?
Pods is a comprehensive, free WordPress content management framework for creating custom post types, custom taxonomies, custom fields, and custom table storage — all from one plugin, without combining separate tools like ACF + CPT UI. The Pods framework stores extended data in its own custom database tables rather than the standard WordPress post meta table, which provides performance and structural advantages for sites with large volumes of custom data or complex relational schemas.
Pods supports custom field types including text, textarea, WYSIWYG, date, file upload, image, boolean, number, currency, email, website, phone, color picker, code editor, password, and relationship fields. The relationship field system is particularly strong — Pods manages one-to-one, one-to-many, and many-to-many relationships between any content types, including WordPress core post types and custom types registered through Pods or CPT UI. Templates can be created within Pods using a shortcode-based templating system for front-end display without writing PHP.
The completely free pricing makes Pods a compelling starting point for WordPress developers who need custom post types, custom fields, and database relationship management without per-site licensing costs. Optional paid add-ons by SKCDEV extend Pods with Elementor integration, front-end list tables, and advanced relationship storage. The main trade-off is a dated UI compared to ACF or Meta Box, and a steeper initial learning curve for the templating system. For developers comfortable with the Pods approach, it provides extensive functionality at zero cost.
Need Help With Pods Setup, Troubleshooting, or Customization?
Need help with Pods? Whether you are dealing with errors, broken functionality, styling problems, plugin conflicts, or advanced customization, we can help you fix the issue and get the plugin working properly on your WordPress site.
Get Pods Expert HelpKey Features
- Custom post type creation with full customization of post type arguments
- Custom taxonomy creation
- Custom fields with 20+ field types
- Relationship fields: one-to-one, one-to-many, many-to-many between any content types
- Custom database table storage for extended data (performance advantage for large datasets)
Pros & Cons
Pros
- Completely free — no per-site licensing cost
- Single plugin handles CPT registration, taxonomy creation, and custom fields (no need for ACF + CPT UI combination)
- Custom database tables provide better performance for complex data than wp_postmeta
Cons
- Dated admin interface compared to ACF or Meta Box
- Steeper learning curve — particularly the Pods Templates system
Free vs Premium
Completely free on WordPress.org. Optional SKCDEV add-ons: Pods Companions for Elementor, Advanced Relationships Storage, List Tables (pricing at pods.io/add-ons).
Common Problems & Fixes
Pods custom post type is not appearing in the WordPress admin menu after creation. How do I fix this?
After creating or modifying a Pods custom post type, flush the WordPress rewrite rules: go to Settings → Permalinks and click Save Changes (without changing anything). This triggers the rewrite rule refresh. If the post type still does not appear, verify in Pods → Edit Pod → Advanced that “Show in Menu” (show_in_menu) is set to true and the menu position is not conflicting with another menu item. Also check if a user role restriction is hiding the post type from your current user role.
Pods relationship field is not displaying related content on the front end using a Pods template. How do I output related field data?
Relationship fields in Pods require nested template tags to access related content. In a Pods template, use {field_name.related_field_name} syntax for traversal — for example, {author.display_name} to get the display name of a related Author post type. For relationship fields that may have multiple related items, use the Pods repeater syntax: [each field_name]{@related_field_name}[/each]. If the field returns no data, verify the relationship field is populated for the current post in the admin and that the template is associated with the correct Pod.
After upgrading Pods, existing custom field data is no longer displaying on the site. How do I restore it?
Pods major version upgrades sometimes require database migration. After upgrading, go to Pods → Settings → Upgrade and run any available upgrade routines. If data appears lost, check the Pods database tables directly: Pods stores data in wp_pods, wp_pods_* tables or in wp_postmeta depending on the storage type configured. Use phpMyAdmin or Adminer to verify the data exists in the database. Also clear all caches — object caches or Pods-specific caches may be serving stale data after the upgrade.
Customization & Developer Notes
How do I display Pods custom field data in a Gutenberg block?
Pods provides Pods Blocks for the Gutenberg block editor. Go to any post editor and search for “Pods” in the block inserter. The Pods Single Item (Field Value) block outputs a single field value for a specified Pod and field name. The Pods Loop block renders a list of items from a Pod with configurable template. For dynamic display of current post’s Pods fields in a block, the Pods Single Item block with “use current post” mode is the simplest approach without custom code.
How do I create a many-to-many relationship between two custom post types in Pods?
In Pods → Edit Pod → [your post type], add a Relationship field. In the field settings, set Related Type to the target custom post type. Set the Relationship Storage to “Custom Relationship Table” for a true many-to-many relationship. Set “Pick a Limit” to allow multiple selections (0 = unlimited). Save the field. The relationship is now bidirectional — selecting a related item on one side also creates the reverse relationship, accessible from the related post type via Pods API or template traversal. Pods manages the junction table automatically.
Frequently Asked Questions
Is Pods or ACF better for a WordPress project with complex content relationships?
For complex many-to-many content relationships (e.g., authors linked to books, books linked to genres, genres linked to publishers), Pods manages these more naturally through its dedicated relationship table storage. ACF Pro handles relationships via the Relationship field but stores references as serialized post meta, which performs less efficiently on complex relational queries. For straightforward custom fields on standard content, ACF is simpler to set up. For database-heavy relational content architectures, Pods’s custom table storage and relationship system have structural advantages.
Do I need CPT UI if I use Pods?
No — Pods handles custom post type registration directly within its own interface. You do not need CPT UI when using Pods. The Pods plugin creates, manages, and maintains CPT registrations internally. If you want to use Pods for fields only and register CPTs through code or CPT UI for familiarity, that is also possible — Pods can attach fields to CPTs registered by other means.
Can Pods break after updates?
Yes, that can happen, especially on older sites with many plugins. This usually happens when the plugin, theme, and add-ons are updated out of sequence. In most cases, testing on staging catches the issue before it reaches the live site. From experience, backups and changelog reviews save a lot of cleanup time.
What should I check before installing Pods?
Start by checking whether another plugin already does the same job. In most cases, overlap is what creates avoidable conflicts and performance issues. A common issue is installing a plugin because it looks convenient without checking the stack first. From experience, a short compatibility review avoids most of the pain later.