Pods – Custom Content Types and Fields


Manage all your custom content needs in one location with the Pods Framework.

  • Create content types including Custom Post Types, Custom Taxonomies, and our special Advanced Content Types (ACTs get their own custom tables)
  • Extend and customize content types including Posts, Pages, Categories, Tags, Users, and Media with one easy click
  • Create custom settings pages easily within seconds
  • Add custom fields to any content type
  • Group your fields however you’d like into their own sections and add additional headings to help organize
  • Show your fields anywhere using our blocks, shortcodes, widgets, or the non-coder Pods Template approach along with our automatic theme integration
  • Create connections between any of your content with relationship fields to keep your content organized

Let Pods help you grow your development and site building skills so that you can manage content beyond the standard WordPress Posts & Pages.

Check out our Documentation, Support Forums, and our Live Community Slack Chat for assistance building your dream project with Pods.


Content types that evolve with your needs

Create any type of content that you want — small or large — we’ve got you covered. Every content type created with Pods gets all the love it needs to grow up big and strong. You’ll get an easy-to-use interface that lets you manage field groups, custom fields, and how your content type will look or function.

Create new content types

With Pods, you can create entirely new content types and settings pages.

Every Field Type, FREE

We have an extensive collection of over 25 different input types to choose from on 20+ different field types for any content structure. Each field type comes with their own additional options to help you customize content entry and display. You can also control visibility by role/capability and other advanced options.

  • Text: Plain Text, Website, Phone, Email, Password
  • Paragraph: Plain Paragraph Text, WYSIWYG (Visual Editor), Code (Syntax Highlighting)
  • Date / Time: Date and Time, Date, Time
  • Number: Plain Number, Currency (30+ international currencies)
  • Relationships / Media: File / Image / Video (Media library and basic upload options available), Avatar (for extended Users), oEmbed, Relationship (Dropdown, Multi Select, Autocomplete, Checkboxes, Radio Buttons, and List View available)
  • Checkbox (Yes / No)
  • Color Picker

Relationships to rule the world with

The power is in your hands with our comprehensive support to relate your content to anything.

  • Custom defined lists of text options
  • Relate to any Post Type or Taxonomy posts / terms
  • Relate to any User profile
  • Relate to User Roles or Capabilities
  • Relate to any Comment

And many other relationships are also available including:

  • Image Sizes
  • Navigation Menus
  • Relate to content within any Database Table
  • Countries (predefined)
  • US States (predefined)
  • Canadian Provinces (predefined)
  • Calendar – Days of Week (predefined)
  • Calendar – Months of Year (predefined)
  • And many more!

Optional Components to do even more

You can enable some of our included components to extend your WordPress site even further:

  • Pods Templates – Use our template engine to create templates that can be handed off to clients for care-free management
  • Markdown Syntax – Parses Markdown Syntax for Paragraph Text / WYSIWYG fields
  • Advanced Relationships – Add even more relationship objects including Database Tables, Multisite Networks, Multisite Sites, Themes, Page Templates (in the theme), Sidebars, Post Type Objects, and Taxonomy Objects
  • Table Storage – Enable table-based database storage for custom fields on Post Types, Media, Users, and Comments
  • Roles and Capabilities – Create or edit Roles for your site and customize what they have access to
  • Advanced Content Types – Create entirely custom content types that have their own database table, and they will exist outside the normal WordPress context avoiding meta database tables
  • Pods Pages – Create custom pages that function off of your site’s URL path with wildcard support and choose the Page Template in the theme to use — most useful paired with Advanced Content Types

Plays well with others

We also do our best to integrate and play nicely with other projects:

How can I translate Pods into my own language?

Many thanks go out to the fine folks who have helped us translate the Pods plugin into many other languages.

Join us in further translating the Pods interface on the official Translating WordPress dashboard

We are also available through our Live Community Slack Chat to help our translators get started and to support them on the process.

Are you looking to translate your Pods and Fields themselves? You’ll want to enable the “Translate Pods” component from Pods Admin > Components.


Pods really wouldn’t be where it is without all the contributions from our donors and code/support contributors.


  • Create new content types or extend existing ones
  • Add groups of fields and manage your content type
  • Add fields of many types with individual options for each
  • Creating or extending a Post Type will add groups of fields to the Post Editor
  • Creating or extending a Taxonomy will add groups of fields to the Term Editor
  • Extending Users will add groups of fields to the User Profile and Edit forms


جمع: هي پلگ ان 5 بلاڪس مهيا ڪري ٿو.

  • Pods Single Item Display a single Pod item.
  • Pods Form Display a form for creating and editing Pod items.
  • Pods View Include a file from a theme, with caching options
  • Pods Field Value Display a single Pod item's field value (custom fields).
  • Pods Item List List multiple Pod items.


  1. Unpack the entire contents of this plugin zip file into your wp-content/plugins/ folder locally
  2. Upload to your site
  3. Navigate to wp-admin/plugins.php on your site (your WP Admin plugin page)
  4. Activate this plugin

OR you can just install it with WordPress by going to Plugins >> Add New >> and type this plugin’s name


Where do I go for Support on your plugin?

Our primary Support is handled through our Support Forums. For the fastest support, you can contact us on our Live Community Slack Chat in the #support channel. We do not staff our Slack channel 24/7, but we do check any questions that come through daily and reply to any unanswered questions.

We do have a community of Pods users and developers that hang out on Slack, so you’re sure to get an answer quickly. We answer our Forum questions once a week with follow-up during the week as we’re prioritizing resources towards restructuring and improving our documentation.

Where do I report bugs or request features?

If you’ve encountered a bug or have an idea for a new feature, we kindly request you to create an Issue on our GitHub Repository at https://github.com/pods-framework/pods/issues/new. Please be very specific about what steps you did to create the issue you’re having and include any screenshots or other configuration parameters to help us recreate or isolate the issue.

Will Pods work with my Theme?

Most likely the answer is yes. We don’t require any special CSS or display attributes to use Pods with your theme, so you should have little to no difficulty showing your content in your theme. If you encounter any issues, contact your theme developer and ask them about their support for the standard WordPress theming functions and how to use WordPress Template Hierarchy with their theme.


1 ڊسمبر 2021
after the update my data is all gone. months of work for nothing! I don't understand why they don't check their app first before giving an update release. But the service is good, so 4 stars...
26 نومبر 2021
Pods is arguably the best of the custom post plugins. It's amazing that it's free. Content forms, relationships, it's got the lot. The latest version steps up a gear with new features and better usability. At a time when other custom post plugins rapidly increase their price when they find a few hundred users, it is great to see such a useful premium-quality plugin available as a community funded project. If it helps you make money, it's a nice thought to donate.
4 نومبر 2021
This plugin has amazing features for gaming up your WordPress website building. I use it in combination with the Beaver Themer add on, and it is just so smooth to build a smarter website. I link titles to template fields. Add user data. Set up special pages,..
27 آڪٽوبر 2021
Great tool and support seems to be lighting fast, even for minor issues. I was able to download the tool for the first time and have a solution up and running in just a few hours.
جمع: سڀ 359 تبصرا پڙهو

تعاون ڪندڙ & ڊولپرز

جمع: “Pods – Custom Content Types and Fields” 128 جڳهن ۾ ترجمو ڪيو ويو آهي. ترجمي ڪندڙن جي مهرباني سندن تعاون لاءِ.

ترجمو ڪريو “Pods – Custom Content Types and Fields” توهان جي ٻولي ۾.

ڊولپمينٽ ۾ دلچسپي؟

ڪوڊ براؤز ڪريو، چيڪ ڪريو SVN مخزن، يا رڪنيت حاصل ڪريو ڊولپمينٽ لاگ پاران RSS.

لاگ تبدیل ڪريو – December 8th, 2021

  • Fixed: Resolve issues with going to Add New Pod screen and not seeing expected post types / taxonomies to be extended. #6358 #6359 (@JoryHogeveen)
  • Fixed: Slider formatting for input now supports more varied separators and decimal characters. #6357 #6361 (@JoryHogeveen)

2.8.8 – December 7th, 2021

  • Tweak: Support passing the object into specific field functions/helpers using the filter pods_helper_include_obj and returning true. (@sc0ttkclark)
  • Tweak: Exclude post types and taxonomies more uniformly and allow filtering the ignored types with the filter pods_meta_ignored_types. You can check whether a content type is covered by calling PodsMeta::is_type_covered( $content_type, $object_name ). (@sc0ttkclark)
  • Fixed: Resolved conflicts with Ultimate Member plugin by disabling Object Field access in meta data functions. You can enable access to these fields by returning true on the pods_meta_cover_object_fields_in_meta filter going forward. (@sc0ttkclark)
  • Fixed: Ensure Number formatting is normalized for all number/currency inputs to prevent issues with decimal/thousands formats. #6269 #6356 #6333 (@JoryHogeveen)
  • Fixed: Pods Pages now loads the expected value for page_template when editing a Pod Page. #6355 (@sc0ttkclark)
  • Fixed: Pods Pages now loads the labels for Associated Pod when editing a Pod Page. #6355 (@sc0ttkclark)
  • Fixed: Prevent potential timeouts by reducing areas of conflict in PodsMeta. #6349 (@sc0ttkclark)
  • Fixed: Resolved potential performance issues / timeouts with large datasets and many Pods Blocks when loading Block Editor by adding the filter pods_blocks_types_preload_block and returning false to disable preloading blocks on load of the edit post screen. #6349 (@sc0ttkclark)
  • Fixed: Enforce slug characters on registration of post type / taxonomy instead of the admin config field for Custom Rewrite Slug and Archive Page Slug Override. #6354 (@sc0ttkclark)
  • Fixed: Resolve issues with PodsAPI::save_field() when trying to save a field just using the name, now you can pass the override parameter as true to bypass duplicate field checks to force saving as matching field. #6345 (@sc0ttkclark)
  • Fixed: More robust checking for conflicts with extended post types and taxonomies before registering them. #6348 #6342 (@sc0ttkclark)
  • Fixed: Resolved bug with Form, Item List, and Item Single blocks so they get the correct context from the Query blocks when rendering. #6351 (@sc0ttkclark)
  • Fixed: Use copy() instead of file_get_contents() in pods_attachment_import(). (@sc0ttkclark)

2.8.7 – December 1st, 2021

  • Fixed: Solved issue where some shortcodes were not processed properly in templates. #6337 (@sc0ttkclark)
  • Fixed: Prevent conflicts with get_metadata integrations causing recursive loops. (@sc0ttkclark)

2.8.6 – November 30th, 2021

  • Security: Escape/KSES labels and descriptions in more places. (@sc0ttkclark)
  • Tweak: Added bbPress profile form support so that Pods fields appear like the other form fields. (@sc0ttkclark)
  • Tweak: Added ability enable more consistent responses with REST API relationship depths. Filter pods_api_export_pod_item_level_export_ids_at_final_depth and return true to only export IDs at the final depth (note: depth set as 1 always returns IDs). #6260 (@sc0ttkclark)
  • Tweak: Added ability to force checking if a Pod has orphan fields that aren’t assigned to groups and setting them to the first group. Add pods_debug_find_orphan_fields=1 to the URL when editing a pod. (@sc0ttkclark)
  • Tweak: Implement Block schema for Pods blocks and set the icons to use dashicons for WordPress.org. (@sc0ttkclark)
  • Tweak: Improve performance by only checking a Pod once for a field when filtering meta related functions. (@sc0ttkclark)
  • Tweak: When calling pick_object and pick_val for a field object, automatically map to the corresponding method to deal with additional logic. (@sc0ttkclark)
  • Fixed: Flush cache after importing packages. (@sc0ttkclark)
  • Fixed: Adjust CSS for fields in meta boxes that are in side context. (@sc0ttkclark)
  • Fixed: Resolve issues with enqueueing assets that may not be registered yet (for bbPress compatibility) by doing a late enqueue. (@sc0ttkclark)
  • Fixed: Resolve PHP notices and added a fallback when related IDs are not set in the cache as expected. #6322 (@sc0ttkclark)
  • Fixed: Advanced Content Types now create the default fields as expected (name, created, modified, author, permalink) . #6314 (@sc0ttkclark)
  • Fixed: Added backwards compatibility for some more old Pods 1.x code, but be sure to update compatibility as this may not be maintained in the future. #6312 (@sc0ttkclark)
  • Fixed: Added backwards compatibility for [if] template tags to support running normal shortcodes in them. To enable this, set PODS_TEMPLATES_ALLOW_OTHER_SHORTCODES to true in your wp-config.php file. #6290 (@sc0ttkclark)
  • Fixed: Set up the currency configurations needed for frontend forms with currency fields (using non-USD currencies) in case they haven’t been set up yet. #6315 (@sc0ttkclark)
  • Fixed: Added backwards compatibility for pods_group_add() so that when a field is marked as hidden in the UI but it is added directly with pods_group_add(), then it will treat it as not hidden anymore. #6309 (@sc0ttkclark)
  • Fixed: Automatically assume configuration needs to be refreshed when transient of Pods registered post types/taxonomies does not match current post types/taxonomies count in Pods configs. #6313 (@sc0ttkclark)
  • Fixed: Relationships now require a Related Type option to be set. #6327 (@sc0ttkclark)
  • Fixed: Resolve issues with duplicating a Pod so that it properly creates the duplicated groups/fields for the new pod. #6330 (@sc0ttkclark)

2.8.5 – November 17th, 2021

  • Fixed: Resolved problems with old Pods 1.x upgrades not fully going away. (@sc0ttkclark)
  • Fixed: Resolved problems with extended post types being overridden. (@sc0ttkclark) – November 17th, 2021

  • Fixed: Resolved issues where usage of pods_group_add() could produce errors which would stop the Edit Post screen from loading. (@sc0ttkclark)

2.8.4 – November 16th, 2021

  • Added: Pods Field Value widget now supports using current post/term just like the Pods Single Item widget does. (@sc0ttkclark)
  • Fixed: Checkbox dependencies for Pod options now show as expected when loading the Edit Pod screen for a newly created Pod. #6255 #6291 (@zrothauser)
  • Fixed: “/” is now specifically disallowed from being used for the custom rewrite slug on a post type or taxonomy to prevent rewrite conflicts. #5744 (@sc0ttkclark, @dingman)
  • Fixed: Advanced Filters pop-up now shows without showing the unused scrollbars in most cases. #6264 (@sc0ttkclark)
  • Fixed: Comment forms now show the expected custom fields created by Pods when logged out. #6262 (@sc0ttkclark)
  • Fixed: Relationship fields that do not call AJAX for autocomplete will now correctly allow searching items in the list. #6238 (@sc0ttkclark, @TrevorSqE)
  • Fixed: Resolved caching bug that showed an extra post type in the menu when renaming a post type. #6258 (@sc0ttkclark)
  • Fixed: Files now save correctly and the saving logic no longer conflicts with relationship fields. #6263 #6280 #6281 #6294 #6282 (@sc0ttkclark)
  • Fixed: Prevent potential fatal errors with Pods 1.x compatibility with PodsUI handling. #6297 (@sc0ttkclark)
  • Fixed: Check if a Pod is extending an existing post type dynamically so that it can continue to function when the original post type is removed or when there are configuration issues. #6266 (@sc0ttkclark)
  • Fixed: Date formats starting with day first now work as expected with the date form field. #6259 (@sc0ttkclark)
  • Fixed: Time values with “00:00” no longer counts as empty. #6256 (@sc0ttkclark)
  • Fixed: ISO time format “c” now works as expected for date/time form fields. #6272 #6271 (@sc0ttkclark, @JoryHogeveen)
  • Fixed: Custom date and time formats with escaped characters now work correctly with the date/time form fields. #6261 (@sc0ttkclark)
  • Fixed: Resolved translation issues by adding more translatable text field options for Color and Relationship fields. #6265 (@JoryHogeveen)
  • Fixed: Polylang / WPML integration now properly avoids problems when no language data is set. #6286 (@JoryHogeveen)
  • Fixed: Placeholder values are properly inherited based on field type specific options. #6289 (@JoryHogeveen, @sc0ttkclark)
  • Fixed: REST API fields now correctly check the right field option for whether fields should be individually shown. #6288 (@JoryHogeveen)
  • Fixed: Relationship traversal now properly handle selection limit if more than the original field. #6243 (@sc0ttkclark)
  • Fixed: Prevent potential conflicts when a plugin uses $post->content instead of $post->post_content to get the content of a post. Pods no longer checks objet field aliases with get_post_meta() and directly integrated metadata function calls. (@sc0ttkclark)
  • Fixed: Fix orderby PHP notices for in_array() checks on field id and field index. (@sc0ttkclark)
  • Fixed: Better checks for Pod objects existing in PodsMeta. (@sc0ttkclark)
  • Fixed: Removed the “Extra Fields” option (old WP compatibility option) for Custom Taxonomies on the Pods Admin > Add New screen. (@sc0ttkclark)
  • Fixed: Resolved issues where post type associated taxonomies would sometimes not return the correct field values due to cached taxonomy info available, it now has access to all current taxonomies. (@sc0ttkclark)
  • Fixed: Resolved $traverse variable conflicts in PodsData by renaming to $traverse_field. (@sc0ttkclark)
  • Fixed: Added method PodsForm::block_field_types() to allow previous calls to continue to work as expected in order to prevent fatal errors. If you use this method you should use PodsForm::layout_field_types() instead, but it is now available again and properly set as deprecated. (@sc0ttkclark)

2.8.3 – October 28th, 2021

  • Fixed: Resolved problem when using taxonomy_name.name in Pods::field() where some circumstances could cause it to return empty unexpectedly. #6214 (@sc0ttkclark)
  • Fixed: Custom date formats for both Display and Input now validated against instead of Display only. #6213 (@sc0ttkclark, @jamesgol, @zrothauser)
  • Fixed: Improved RTL support for Edit Pod screen modals. #6208 (@JoryHogeveen, @jaavid)
  • Fixed: Filesystem checks adjusted to reduce errors when only reading files. #6242 (@sc0ttkclark)
  • Fixed: Resolved PHP errors with PodsUI and sorting fields. #6247, #6249, #6250 (@sc0ttkclark)
  • Fixed: Improved compatibility with MySQL 5.7+ for DISTINCT query issues with SELECT and ORDER BY. #6251 (@sc0ttkclark)
  • Fixed: Tile mode for Image gallery on File field no longer overlaps when showing many tiles. #6252 (@bwdgroup, @sc0ttkclark)
  • Fixed: Multiple forms now work correctly on the same page and no longer conflict with each other. #6203 (@zrothauser, @sc0ttkclark)
  • Fixed: Resolve potential PHP errors when getting information about a relationship to an object that no longer exists. (@sc0ttkclark)
  • Fixed: Resolved issue from Pods 2.8.2 where certain values come back as unexpected as fixed in #6231, the values now get set back to the proper expected type after processing. (@sc0ttkclark)
  • Fixed: Removed unused JS files from Pods 2.x and clean up admin asset enqueueing logic. (@sc0ttkclark)

2.8.2 – October 26th, 2021

  • Added: Include the link button on the Quill Editor toolbar. #6221 (@pdclark)
  • Added: You can now use $pod->template_singular() just like $pod->template() except it runs while within a $pod->fetch() loop without conflicting. #6215 (@sc0ttkclark)
  • Fixed: Pod Templates now work expected when you set $pod->id manually. #6215 (@sc0ttkclark)
  • Fixed: Table relationship data queries now work as expected for custom column names. #6244, #6241, #6223 (@sc0ttkclark)
  • Fixed: Advanced Content Type UI options now show option fields correctly for UI columns and other fields which may have formatting different than expected by React. #6210 (@sc0ttkclark)
  • Fixed: Pod Page and Pod Templates now have correct conditional logic handling to show/hide fields based on settings. #6240 (@sc0ttkclark)
  • Fixed: Order By date and other aliases for object fields like post_date now work again as expected. #6230 (@sc0ttkclark)
  • Fixed: When a value comes back from get_post_meta that is not as expected, better handle the value based on $single in Pods::field(). #6231 (@sc0ttkclark)
  • Fixed: When depends-on and other dependency options are not formatted as expected, prevent conditional check from failing. #6212 (@sc0ttkclark)
  • Fixed: Ensure filters in PodsUI set overrides needed for display. #6239 (@gafiulov)
  • Fixed: Number and currency fields no longer force 0 as default value. #6226, #6209 (@sc0ttkclark)
  • Fixed: Improved compatibility with WPML for Pods Auto Templating. #6219, #6218 (@JoryHogeveen, @sc0ttkclark)
  • Fixed: Resolve PHP errors on page when using [each category] template tag with posts. #5971 (@sc0ttkclark)
  • Fixed: Prevent erroneous meta JOINs added for object fields when they target t already. #6192 (@sc0ttkclark)
  • Fixed: Resolve issues with default values for certain Pod configuration options. #6178 (@zrothauser, @sc0ttkclark)
  • Fixed: Ensure certain Pod configuration checkboxes can be unchecked properly and saved. #6200 (@zrothauser, @JoryHogeveen, @sc0ttkclark)

2.8.1 – October 20th, 2021

  • Fixed: Simple Custom Defined Relationships now output correctly again when displaying them like {@my_relationship.my_custom_defined_relationship}. #6189 #6191 (@sc0ttkclark)
  • Fixed: Color Picker now has the “Clear” button back. #6194 #6196 (@JoryHogeveen)
  • Fixed: Display Field in Selection option now properly works again. #6195 (@sc0ttkclark)
  • Fixed: REST API fields are registered properly for post types and taxonomies again. #6175 (@jamesgol, @sc0ttkclark)
  • Fixed: The Pods Admin menu icon shows up again and has been switched to SVG format. #6177 #6180 (@JoryHogeveen, @sc0ttkclark)
  • Fixed: The correct Currency now shows up for the currency input field as intended again. #6184 (@sc0ttkclark)
  • Fixed: Taggable autocomplete works as expected again. #6182 (@sc0ttkclark)
  • Fixed: ORDER BY basic field detection has been improved to prevent certain fields from using the incorrect alias. (@sc0ttkclark)
  • Fixed: The <ul> used with checkbox inputs has been styled with list-style:none as it should be. (@sc0ttkclark)
  • Fixed: Default the form output type to div if it’s provided but empty. (@sc0ttkclark)
  • Compatibility: Added compatibility for Enfold theme and public forms so that wp-mediaelement is not removed by the theme. #6188 (@sc0ttkclark)
  • Tweak: Internal API – Storage and Storage Types used in the internal Pods code has been clarified to prevent ambiguity. Storage Types have been changed to Object Storage Types in all areas regarding Whatsit Storage). (@sc0ttkclark)
  • Tweak: Public forms now have unique IDs added to them to help in custom CSS work. (@sc0ttkclark)

Found a bug? Have a great feature idea? Get on GitHub and tell us about it and we’ll get right on it: https://pods.io/submit/

2.8 – October 18th, 2021

Release post: https://pods.io/2021/10/18/pods-2-8-feature-release/

Read the full Pods 2.8 Field Guide which includes information about all the features, enhancements, and changes in this major Pods release.

Breaking compatibility warning:
* New minimum required versions have been updated as follows which includes notices to let you know if you need to update something.
* New minimum WP version required: WordPress 5.5+ (previously: WP 4.5+)
* New minimum PHP version required: PHP 5.6+ (previously: PHP 5.3+) — Hey! You should take the time to update to PHP 7.4+ because there’s major speed improvements to be had 🙂
* New minimum MySQL version required: MySQL 5.5+ (previously: MySQL 5.1+)
* Refactored object handling for Pod and Field configurations — we now lazy load and pull things as-needed from the database instead of always pulling all Pods and Fields at once. It remains backward compatible in most array usage

Features and changes in this release
* Feature: Now you can add multiple groups of fields. (@sc0ttkclark, @zrothauser)
* Feature: Our Edit Pod screen is powered by our all new React form interfaces, tooltips, and they use our new Pods Admin REST API endpoints. (@sc0ttkclark, @zrothauser)
* Feature: All of our form fields are powered by React now in preparation for Pods 2.9 repeatable fields that we’re working on next. (@sc0ttkclark, @zrothauser)
* Feature: New field types for Heading and HTML. (@sc0ttkclark, @zrothauser)
* Feature: New Pods Blocks available and the underlying Pods Block PHP API is compatible with ACF Blocks if you’ve ever used those before. (@sc0ttkclark, @zrothauser)
* Feature: REST API endpoints are now available to create/edit various objects: Pods, Pod Groups, and Pod Fields. (@sc0ttkclark)
* Feature: WP-CLI commands that mirror the REST API endpoints we have. (@sc0ttkclark)
* Feature: The new WYSIWYG editor option to use Quill Editor is now available and the CLEditor has been removed. (@sc0ttkclark, @zrothauser)
* Compatibility: Completely updated compatibility with WPML and Polylang plugins.

Our GitHub has the full list of all prior releases of Pods: https://github.com/pods-framework/pods/releases