Pods – Custom Content Types and Fields

Description

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
  • Conditionally show fields based on the value of other fields with Conditional Logic
  • 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.

Want to check it out? Give Pods a test drive with our new One-click Demo.

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

Introduction

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

If you choose to use Pods for your custom fields, you’ll get every field type you need, free of charge. Pods works great alongside other custom field plugins like Advanced Custom Fields too.

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.

  • Repeatable Fields: Turn almost any field into a repeatable field with multiple values
  • 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
  • Layout Fields: Heading text, HTML content

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:

  • Types-only Mode – On our Pods Settings page, you can choose to disable creating custom fields for a performance boost if you only want to use Pods for content types or you plan on using it alongside of other custom field plugins
  • 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

Plugins that integrate with Pods

Themes that integrate with Pods

  • Genesis (StudioPress) has direct integration in Pods itself

Extend Pods with Free Add-Ons

Extend Pods with Free Third-party Add-Ons

Pods Pro by SKCDEV Premium Add-Ons

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.

Contributors

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

Screenshots

  • 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

Blocks

This plugin provides 6 blocks.

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

Installation

  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

FAQ

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.

Reviews

2024-03-10 4 replies
I want to love Pods but their complete lack of documentation makes it utterly infuriating to work with. The fact that an option in your plugin can't be found referenced in your documentation is ludicrous. Half the time there is "documentation" it ends up just being a blank page or contains content that lacks any context, like a random data table. For a plugin that has been around for years, this is completely unacceptable.
2024-02-04
I am currently redoing a website for which pods.io was an absolute gamechanger. Unfortunately I don't fully understand php and sql which is why I am possibly missing some features but until now, the plugin is configured and works pretty well. It will, in future, save me tons of hours.
Read all 402 reviews

Contributors & Developers

“Pods – Custom Content Types and Fields” has been translated into 129 locales. Thank you to the translators for their contributions.

Translate “Pods – Custom Content Types and Fields” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

3.1.4 – February 28th, 2024

  • Fixed: Defaults now show correctly for checkbox groups in the Edit Field modals. (@sc0ttkclark)
  • Fixed: Resolve potential PHP errors with cached configs in Collections classes that has been there since Pods 2.x. (@sc0ttkclark)
  • Fixed: Revisited due to our automated NPM build issue – Resolved an issue with CodeMirror 6.x fields in forms (this is separate from the version 5.x that the Pods Template editor uses). (@sc0ttkclark)

3.1.3 – February 27th, 2024

  • Fixed: Resolved an issue with CodeMirror 6.x fields in forms (this is separate from the version 5.x that the Pods Template editor uses). (@sc0ttkclark)

3.1.2 – February 27th, 2024

  • Added: Now you can set Content Visibility when creating a new pod. (@sc0ttkclark)
  • Added: More help text to better explain things on the Access Rights Review screen for extended content types. (@sc0ttkclark)
  • Added: New option to specify whether to Sanitize Output for a field in the Additional Field Options of Heading, Paragraph, WYSIWYG, Code, and Text fields. (@sc0ttkclark)
  • Added: Pod Reference metabox on the Pods Templates editor screen now has more help text and will now allow clicking to copy any magic tag to clipboard. (@sc0ttkclark)
  • Added: Better explain Public vs Publicly Queryable for Post Types and Taxonomies along with showing the current Content Visibility below. (@sc0ttkclark)
  • Changed: Updated CodeMirror to 5.65.16 so we can start moving towards CodeMirror 6 for the Pods Template editor. (@sc0ttkclark)
  • Fixed: Resolved issues with Access Rights Review screen when making content type public or private causing it not to be fully set (only public was set on, it left out publicly_queryable). (@sc0ttkclark)

3.1.1 – February 22nd, 2024

This is just a release to retrigger the zip generation on WordPress.org that missed a fix put into the initial 3.1 release tag in SVN.

Pods 3.1 is a security focused release, see below for the changelog information.

3.1 – February 21st, 2024

Security Release

While this release is meant to be as backwards compatible as possible, some aspects of security hardening may require manual intervention by site owners and their developers. There were no known reports and no known attempts to take advantage of the issues resolved by this release except where noted.

Read more about How access rights work with Pods for more details including new filters/snippets that can provide limited access.

  • Security hardening: Introduced new access checks and additional fine-grained control over dynamic features across any place in Pods that allows embedding content or forms. This only applies to usage through Pods Blocks or Shortcodes. Using PHP will continue to expect you are handling this on your own unless you pass the appropriate arguments to the corresponding Pods methods. (@sc0ttkclark)
  • Security hardening: Prevent using the Pods Views Block / Shortcode to embed any files outside of the current theme. Props to the Nex Team / Wordfence for responsibly reporting this. (@sc0ttkclark)
  • Security hardening: Prevent output of user_pass, user_activation_key, and post_password through Pods dynamic features / PHP. These values will be set in Pods references to **************** if they were not-empty so you can still do conditional checks as normal. While Scott was already aware of this in pre-planned security release work, additional props go to the Nex Team / Wordfence for responsibly reporting this too. (@sc0ttkclark)
  • Security hardening: Prevent more unsavory PHP display callbacks from being used with magic tags in addition to those already prevented. Props to the Nex Team / Wordfence for responsibly reporting this. (@sc0ttkclark)
  • Feature: Access rights > Access-related Admin notices and Errors can be hidden by admins in a new setting in Pods Admin > Settings > Security. (@sc0ttkclark)
  • Feature: Dynamic Features > Dynamic features (Pods Blocks and Shortcodes) can be disabled by admins in a new setting in Pods Admin > Settings > Security. (@sc0ttkclark)
  • Changed: Dynamic Features > New installs will now default to not allowing all SQL arguments to be used by dynamic features. Existing installs will default to only allowing simple SQL arguments. All SQL fragments are checked for disallowed usage like subqueries. This can be set in a new setting in Pods Admin > Settings > Security. (@sc0ttkclark)
  • Feature: Pods Display > The Display-related Pods Blocks and Shortcodes have additional checks that limit access to content based on the user viewing it. For Post Types that are non-public, they must have access to the read capability from that post type as a normal user. For displaying content from Users, they must have access to list_users capability to view that. Read more about how access rights work with Pods (@sc0ttkclark)
  • Feature: Pods Forms > The Pods Form Block and Form Shortcode have additional checks that limit access to creating/editing content based on the user submitting the form. For Post Types that are non-public, they must have access to the ‘create’ capability from that post type as a normal user. Forms that submit to the Users pod, now require that the submitter must have access to the create_users or edit_users capability to create or edit that user. Read more about how access rights work with Pods (@sc0ttkclark)
  • Feature: Pods Forms > The Pods Form Block and Form Shortcode now have a new option to identify the form with a custom key you choose that will get passed to various access-related filters so that developers can override access rights more easily. (@sc0ttkclark)
  • Feature: Pods Forms > When a user has access to create or edit content through a Pods form for a post type, the post_content field is cleaned based on the level of access they have to prevent inserting unintentional shortcodes or blocks. (@sc0ttkclark)
  • Feature: Markdown functionality has now been replaced by the Parsedown library for better security and performance and it’s uniquely prefixed so it prevents future conflicts with plugins using the same library. (@sc0ttkclark)
  • Changed: Pods Views > One of the breaking changes in this work is that the Pods Views Block / Shortcode dynamic feature is now disabled by default and must be enabled for new and existing installs. This can be done in a new setting in Pods Admin > Settings > Security. (@sc0ttkclark)
  • Changed: Display PHP callbacks > New installs will now default to only allowing specific callbacks to be used. This defaults the specific callbacks allowed to esc_attr,esc_html which can be further customized in Pods Admin > Settings > Security. (@sc0ttkclark)

3.0.10 – December 11th, 2023

  • Fixed: The safe rendering handler for Pods Blocks now properly passes along context to all Pods Blocks so that they work within Query Loops again and other places they could take on context. (@sc0ttkclark)
  • Fixed: Resolved PHP 8.3 deprecation notice with get_class() usage. #7225 (@netlas, @sc0ttkclark)
  • Fixed: File fields using the direct plupload option will properly avoid uploading files above the limit and handle uploading multiple files without losing all but the first file in the file list. #7138 (@sc0ttkclark, @PD-CM)

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