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
  • 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.

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

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

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

September 30, 2022
Really amazing plugin. It's basically the glue that holds my site together—couldn't do without it. Great support too. Had a bit of an issue recently, went to Slack, got good responses and, low and behold, my concerns led to an update to the app just a few days later. Superb. Thank you!
September 13, 2022
The days of Wordpress-as-a-blog are long gone. To power the new era of Wordpress-as-a-backend-service, you need to be able to easily create, manage, and display custom post types. While there are several plugins to let you manage CPTs, only Pods has the ability to build dynamic relationships and display related content with granular control over the UI. Pods is complex and I've spent hours pouring through forums, videos, docs, and snippets trying to find out how to do something. However, the benefits far outweighs the challenges because at the end of the day a non-PHP frontend developer can build entirely custom templates via HTML / CSS. Of course, PHP devs can go to town with templates as well. I wish Pods were easier, and know the team is working really hard to make it a better developer experience. But even with the learning curve, it's by far the best part of Wordpress in 2022.
August 24, 2022
Love this plugin - you can literally build anything you want with it. And the people in the support forum are very helpful if you get stuck. Perfect!
August 11, 2022
Pods is the single most useful WordPress plugin, providing a great GUI that maximizes WP as a versatile CMS with minimal to no coding required. Pods should be in WP core.
Read all 375 reviews

Contributors & Developers

“Pods – Custom Content Types and Fields” has been translated into 128 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

2.9.8 – September 29th, 2022

  • Enhancement: New pods_config_for_field function helps to set up consistent field objects when custom arrays are used. (@sc0ttkclark)
  • Enhancement: The pods_config_for_pod function now handles basic Pod arrays as well. (@sc0ttkclark)
  • Enhancement: New Whatsit object now runs the pods_whatsit_setup and pods_whatsit_setup_(pod|field) actions during setup so the objects can easily be overridden. (@sc0ttkclark)
  • Enhancement: New Field::is_separator_excluded() method to help determine if current field is excluded from separators using pods_serial_comma(). (@sc0ttkclark)
  • Tweak: Minor code and performance optimizations. (@sc0ttkclark)
  • Fixed: Resolved PHP error registering code-based taxonomies. (@naveen17797)
  • Fixed: Resolved cache that wasn’t getting cleared when a Template was saved. (@sc0ttkclark)
  • Fixed: oEmbed fields are editable again after fixing an issue with the readonly option. (@sc0ttkclark)
  • Fixed: Help to prevent magic tag helpers from causing fatal errors when they are used improperly. (@sc0ttkclark)
  • Fixed: Resolved issue with getting field values from Pods::field() for code-based relationships that have no ID. (@sc0ttkclark)

2.9.7 – September 23rd, 2022

  • Enhancement: You can now toggle every checkbox at once on the Packages > Export screen instead of just by section. (@sc0ttkclark)
  • Enhancement: The Field object now has a new is_file() method to determine whether the field is a recognized file field type (file or avatar). (@sc0ttkclark)
  • Tweak: Post Type Objects and Taxonomy Objects are now available through Relationships and have been moved from the Advanced Relationships component. (@sc0ttkclark)
  • Fixed: Resolve issue with some sites having an asset issue with the Pods Template editor. #6924 #6921 (@JoryHogeveen)
  • Fixed: Code-based file fields now work correctly with the plupload AJAX handler. (@sc0ttkclark)
  • Fixed: Code-based relationship fields now lookup their data correctly in more places like in Pods::field(). (@sc0ttkclark)

2.9.6 – September 22nd, 2022

  • Fixed: Resolve issue with autocomplete nonce check and autocomplete method. #6919 (@sc0ttkclark)

2.9.5 – September 22nd, 2022

  • Fixed: Resolved reported issues with Pods Templates saving and loading values incorrectly for Restrict Content fields. #6916 (@sc0ttkclark, @JoryHogeveen)
  • Fixed: Color fields are no longer forced as a read only input. #6915 (@sc0ttkclark)
  • Fixed: Settings forms are no longer out of sync between the form and fields on which form instance they belong to. #6915 (@sc0ttkclark, @JoryHogeveen)

2.9.4 – September 21st, 2022

  • Feature: New block alert! “Pods Single Item – List Fields” opens the doors towards listing a list of fields in variety of format styles automatically for you. You don’t have to write any HTML, just specify the field(s) you’d like to show and let the block do the rest for you. The block will display the Field Labels and the Field Values in a nice readable format. Display formats available include: ul, ol, dl, p, div, and table. Want to show all but a few fields? Just specify which fields to exclude if that’s what you’re after 🙂 (@sc0ttkclark)
  • Feature: New {@_all_fields} magic tag (or $pod->field('_all_fields') call) will automatically output all field values for the current Pod item in the specified format which includes showing the Field labels. Specify the format using this syntax: {@_all_fields.ul} (default is ul, but ol, dl, p, div, and table are also supported). (@sc0ttkclark)
  • Feature: New {@_display_fields....} magic tag (or $pod->field('_display_fields....') call) will automatically output all field values for the current Pod item in the specified format which includes showing the Field labels. Specify the format using this syntax: {@_display_fields.ul.field_name|another_field|related_post:post_title} (default is ul, but ol, dl, p, div, and table are also supported) — Separate your fields with a pipe “|” character and then if you need to traverse into any relationship field then just traverse each level with a colon “:” character between those fields. (@sc0ttkclark)
  • Feature: New pods_data_field() function allows you to get special data fields directly instead of requiring you to use a full Pods object. (@sc0ttkclark)
  • Feature: New Repair tool on the Pods Admin > Settings > Tools page helps to repair Pod, Group, and Field configuration issues that can be annoying to deal with or would normally require Database access to resolve. (@sc0ttkclark)
  • Feature: You may not have known about it before but we’ve expanded our existing Pods DFV JS API, you can access it through the window.PodsDFV object. Methods include: getFields( pod = '', itemId = 0, formCounter = 1 ), getField( pod, itemId, fieldName, formCounter = 1 ), getFieldValues( pod = '', itemId = 0, formCounter = 1 ), getFieldValuesWithConfigs( pod = '', itemId = 0, formCounter = 1 ), getFieldValue( pod, itemId, fieldName, formCounter = 1 ), setFieldValue( pod, itemId, fieldName, value, formCounter = 1 )
  • Enhancement: You can now choose what field mode you would like to use for REST API fields. The default mode is raw values, but you can choose to return rendered values or both raw+rendered values as an object to work with. #5198 (@sc0ttkclark)
  • Enhancement: You can now specify a custom display separator for repeateable fields to use when rendering. #6892 #6890 (@JoryHogeveen)
  • Changed: Resetting a Pod has been removed from the Pods Admin > Edit Pods page, instead of clicking “Delete All Items” there, you can now access this directly from Pods Admin > Settings > Cleanup & Reset as the new “Delete all content for a Pod” option. You can specify the Pod you want to delete content for and it explains exactly what you can expect from running it. (@sc0ttkclark)
  • Tweak: Updated Pods Admin > Help page now lists more add-ons and where to get them / get support for them. (@sc0ttkclark)
  • Fixed: Properly convert accents when creating a new pod and using the label to generate the pod name. #6874 (@sc0ttkclark)
  • Fixed: Relationship/file fields that are hidden on the screen will now have all field values referenced instead of only the first value when multiple is enabled for that field. #6913 (@sc0ttkclark)
  • Fixed: pods_query_arg() now correctly excludes all $_GET parameters when passing a manual URL into the function. (@sc0ttkclark)
  • Fixed: Legacy WP-CLI commands for Pods are now showing up again, however they will be replaced in a future release with a more comprehensive solution. In the meantime, you can use those commands by calling wp pods-legacy and wp pods-legacy-api.
  • Fixed: Prevent conflicting filter calls when filtering things other than post_title in the Display Field in Selection List option. #6909 #6907 (@therealgilles, @sc0ttkclark)
  • Fixed: The autocomplete field now lets you click the “X” delete icon properly instead of starting drag-and-drop event. #6905 #6878 (@JoryHogeveen)
  • Fixed: Resolved saving multiple files to a Media pod which would result in only the first file being saved. #6450 (@sc0ttkclark)
  • Fixed: Resolved TinyMCE media button handling in some cases so that it checks the correct place in the field configuration. #6569 (@sc0ttkclark)
  • Fixed: Resolved overflow issues in small screens for relationship field List View. #6542 (@sc0ttkclark)
  • Fixed: Resolved issue with some TinyMCE scripts not being included on certain screens that use the TinyMCE WYSIWYG field. #6525 (@sc0ttkclark)
  • Fixed: Pod/Group/Field configurations being saved now get their null-ish values (from empty select fields) sent as empty strings so they are not reverted to the previously saved value on next load. #6558 (@sc0ttkclark)
  • Fixed: Pod/Group/Field configurations being saved now get their checkbox boolean options properly enforced as 0/1 and sent so they are not reverted to the default value on next load. #6485 (@sc0ttkclark)
  • Fixed: Fields added manually through the older pods_group_add() function now get their field types properly recognized. #6381 (@sc0ttkclark)
  • Fixed: Field config overrides for requiring a field when outputting via PHP are now properly recognized by DFV JS logic for validation and form submission prevention. #6352 (@sc0ttkclark)
  • Fixed: Autocomplete field AJAX calls are now able to correctly reference the field object for code-based registered fields. #6896 (@naveen17797, @sc0ttkclark)
  • Fixed: Display of the buttons in the list fields now properly aligns to the right side. #6894 #6893 (@JoryHogeveen, @sc0ttkclark)
  • Fixed: Date range validation now validate sbased on the internal format instead of only on the display format. #6882 #6881 (@JoryHogeveen)
  • Fixed: Number field type with slider inputs now use the correct number references. #6885 #6884 (@JoryHogeveen)
  • Fixed: Currency field type now appears correctly on non-HTML5 fields. #6887 #6886 (@JoryHogeveen)
  • Fixed: Resolved read-only fields functionality which was initially missing from the Pods 2.8+ DFV functionality. #6875 #6583 (@zrothauser, @sc0ttkclark)
  • Fixed: Resolved issue where fields can disappear while being dragged from one group to another. #6873 #6867 (@zrothauser)

2.9.3 – August 18th, 2022

  • Fixed: Resolve additional issue with WPGraphQL on some PHP configurations. #6868 (@sc0ttkclark)
  • Fixed: Code field and others that do not support repeatable inputs are now forced to show non-repeatable inputs even if the setting was saved as on. #6855 (@sc0ttkclark)
  • Fixed: TinyMCE WYSIWYG fields are now no longer showing as repeatable since they are not fully supported. Quill Editor remains supported for repeatable input. #6855 (@sc0ttkclark)
  • Fixed: A development build has been resolved which broke the Code editor field. #6870 (@JoryHogeveen, @sc0ttkclark)

2.9.2 – August 16th, 2022

  • Tweak: Improve the repeatable field UI elements so they blend in more. #6853 #6854 (@JoryHogeveen, @sc0ttkclark)
  • Tweak: Use a popover UI for color fields. #6858 #6859 (@JoryHogeveen)
  • Tweak: Use a popover UI for date, date/time, and time fields. #6857 #6389 #6860 (@JoryHogeveen)
  • Fixed: Resolve conflicts with Restrict Content Pro to deal with how it uses the shared Common library. (@sc0ttkclark)
  • Fixed: Resolve issues with taggable relationships not saving string values. #6862 #6863 (@JoryHogeveen, @sc0ttkclark)
  • Fixed: Resolve formatting issues with saved date/time field variations on save. #6389 #6860 (@JoryHogeveen)
  • Fixed: Resolve error with WPGraphQL on some PHP configurations. #6865 (@sc0ttkclark)
  • Fixed: Resolve error in the field settings for Files with Gallery enabled. #6864 (@sc0ttkclark)

2.9.1 – August 10th, 2022

  • Fixed: CodeMirror compatibility updated after some packages in the build caused Code fields to not show in the Pods forms. #6580 #6584 (@zrothauser, @sc0ttkclark)
  • Fixed: Resolve potential fatal errors when interacting with WP_Filesystem by reading files using normal PHP functions and bypassing those edge cases. #6581 #6582 (@sc0ttkclark)

2.9 – August 9th, 2022

  • Feature: Simple Repeatable Fields offers the ability to turn almost any field into a repeatable field. With repeatable fields, you can add multiple values for a field. You can use repeatable fields with the Pods template tag [each your_repeatable_field] to easily loop and display information with {@_value} Supported field types include: Plain Text, Website, Phone, Email, Password, Date / Time, Date, Time, oEmbed, Plain Paragraph text, WYSIWYG, Plain Number, Currency, and Color Picker. Supported Pod Types include: Post Types (meta-based), Taxonomies (meta-based), Users (meta-based), and Comments (meta-based). #1095 #6304 (@sc0ttkclark, @zrothauser)
  • Feature: Register Pods configurations with JSON/YML files in your theme when stored in pods.json, pods/pods.json, pods/templates.json, etc. Custom paths can be registered to support third party plugins as well. Register new paths using pods_register_config_path( $full_directory_path ) that contain a /pods/ directory to automatically pull from or use pods_register_config_file( $full_file_path, 'json' ) to register a specific file. #4856 (@sc0ttkclark)
  • Feature: The initial integration for WPGraphQL has been merged from the WPGraphQL Integration Add-On for Pods Pro by SKCDEV. The Add-On itself will continue to be developed with new features that are focused on Advanced Content Types and other enhancements in the future that will still remain outside of Pods core. (@sc0ttkclark)
  • Feature: Drag and drop fields from one group to another. #5937 #6114 #6123 #6456 (@sc0ttkclark)
  • Feature: Support importing and exporting Pods Settings in Pods Packages. #6455 (@sc0ttkclark)
  • Feature: Website fields can now be set to output links with rel="nofollow" on them. (@sc0ttkclark)
  • Feature: Full support for DB (Post Types), Code (PHP), and File (JSON/YML) configurations on the Pods Admin > Edit Pods screen. If you have configurations for multiple sources, you will see a new Source column (with file path) and you can filter by source. Pods with non-DB sources currently do not have Edit/Duplicate/Reset Content/Delete links. (@sc0ttkclark)
  • Feature: The file field can now support any image, video, or audio mime types that are supported by WordPress. #6577 #6578 (@sc0ttkclark, @JoryHogeveen)
  • Enhancement: New \Pods\Pod_Manager class allows reusing Pods instances when working with the same Pod across many areas of the code. (@sc0ttkclark)
  • Enhancement: Added PodsAdmin::check_requirements() helper method. (@sc0ttkclark)
  • Enhancement: Migrate Packages component is now enabled by default on new Pods installs. (@sc0ttkclark)
  • Tweak: Removed special logic intended for PHP 5.3 and earlier. (@sc0ttkclark)
  • Tweak: Improved performance when getting Pods configs from post type storage. #6561 #6562 (@JoryHogeveen)
  • Fixed: Set the default sort to Pod Label now that more sources are supported on Pods Admin > Edit Pods. (@sc0ttkclark)
  • Fixed: Prevent potential issues with $wpdb->prepare() when a related object does not have an index field set. (@sc0ttkclark)
  • Fixed: Resolve issue with not reading cache when no ID is passed into Pods objects for Settings pods. #3582 #3583 (@pcfreak30, @sc0ttkclark, @JoryHogeveen)
  • Fixed: Don’t show the edit link in PodsUI if access is restricted, previously going to edit would show the access message but now the link won’t show at all in those restricted cases. (@sc0ttkclark)
  • Fixed: Resolve issues with Media modal fields showing duplicate fields. #6564 (@JoryHogeveen)
  • Fixed: Handle processing the Pods display tags in a more dynamic way for attributes and passing them down to the tag handlers. (@sc0ttkclark)
  • Fixed: Enable media buttons for the post_content field like they should so that forms outside the admin screen continue to function as expected. #6525 (@sc0ttkclark)
  • Fixed: Resolve issues with values that are objects and convert them to arrays for relationship value formatting in DFV field renders. #6566 (@sc0ttkclark)
  • Fixed: Show the Add Media button in forms that use the post_content field. #6569 (@sc0ttkclark)
  • New minimum WP version required: WordPress 5.7+ (previously: WP 5.5+)
  • No minimum PHP version changes (currently: PHP 5.6+) but please be aware that PHP 7.2+ will be required for the Pods 3.0+ feature release. You should take the time to update to PHP 8.0+ because there’s major speed improvements to be had 🙂

2.8.23 – July 4th, 2022

  • Tweak: Added support for exporting post types and taxonomies to PHP for debugging purposes. While logged in as an admin, add ?pods_debug_register_export=1 to expose textareas on the page to get the code. (@sc0ttkclark)
  • Tweak: Added support for new {@_current_page} calculation value. (@sc0ttkclark)
  • Tweak: Added support for calculation values in conditional display tags like [if field="_position" value="2"]. #6513 (@sc0ttkclark)
  • Fixed: Resolved revision issues when revisions_to_keep_limit is set to 0 in the post type. It was supposed to see 0 and use the default revision limit. Instead, it was disabling the revisions for that post type. #6499 (@sc0ttkclark)
  • Fixed: Resolved potential PHP warnings on certain sites by preparing SQL queries separately from other string processing. #6556 #6555 #6554 (@JoryHogeveen, @sc0ttkclark)
  • Fixed: Resolved potential PHP notices when getting table information in PodsData::table(). (@JoryHogeveen)
  • Fixed: Resolved potential PHP type conversion warnings by passing SORT_REGULAR to `array_unique()“ in the File field saving process. (@JoryHogeveen)
  • Fixed: Pods Auto Templates defaults for some fields were set to “true” and that is now treated as empty. The default for those fields are now empty as intended. This resolves notices on the Edit Pod screen about templates being used for Archives when Archives are disabled, but there was no template intentionally set for Archive. (@sc0ttkclark)

2.8.22.1 – July 3rd, 2022

  • Fixed: Resolve potential PHP errors from Relationship/File field saves by ensuring consistent array structures. (@sc0ttkclark)

2.8.22 – July 3rd, 2022

  • Added: Support IN and NOT IN comparisons for the Pods Templating [if] conditional shortcode that checks if the current value is/isn’t within a comma-separated list of values. (@sc0ttkclark)
  • Added: Support = and != comparisons when the current value is an array of values, it now confirms the value is/isn’t within that array. (@sc0ttkclark)
  • Added: When saving pod items, support field-type specific save method for non-tableless field types for future flexibility. (@sc0ttkclark)
  • Added: New pods_query_prepare() function maps to pods_query() but allows for distinct prepare usage instead of confusing array syntax. (@sc0ttkclark)
  • Added: Added new Field::get_single_multi() helper method to determine whether a field is using a single/multi format type. (@sc0ttkclark)
  • Tweak: When saving pod items, pre-process tableless field type data consistently to better support table-based storage. (@sc0ttkclark)
  • Tweak: When saving pod items, allow filtering the list of processed data values that will be used to do the final save with pods_api_save_pod_item_processed_data_to_save. (@sc0ttkclark)
  • Tweak: Adjusted the prepared SQL statements to use the new pods_query_prepare() when doing wp_podsrel table relationship lookups. (@sc0ttkclark)
  • Tweak: Filter wp_podsrel table relationship lookup related IDs the same way as meta-based related IDs get with the pods_api_lookup_related_items_related_ids_for_id filter. (@sc0ttkclark)
  • Tweak: Support custom heading tags for the Heading field in the DFV-powered areas like the Edit Pod screen. (@sc0ttkclark)
  • Tweak: Further lock down custom heading tags in PHP-powered forms so that they can only contain basic tag names. (@sc0ttkclark)
  • Fixed: Avoid setting post terms that are empty when saving pod item. (@sc0ttkclark)
  • Fixed: Dot-traversal in Pods Templating [if] conditional shortcodes references the correct pod and expected field path. (@sc0ttkclark)

2.8.21 – June 27th, 2022

  • Tweak: Allow language relationships with Polylang language taxonomy. #6541 #6540 (@JoryHogeveen)
  • Fixed: When determining the first version installed of Pods, use the last known version instead of the current version. (@sc0ttkclark)
  • Fixed: Increase the version used when determining defaults for Meta Integration and Meta Overrides. (@sc0ttkclark)
  • Fixed: Remove empty values from list of file types to prevent PHP warnings. #6544 #6543 (@JoryHogeveen)
  • Fixed: Prevent errors on List Select fields if there are empty results. #6536 #6536 (@zrothauser)

2.8.20 – June 17th, 2022

  • Fixed: Use the correct defaults for the new Pods Settings of Meta Integration and Meta Overrides. (@sc0ttkclark)
  • Fixed: Use the correct defaults for Pods Settings when they return as a blank string. (@sc0ttkclark)

2.8.19 – June 13th, 2022

  • Fixed: Theme views now load as expected, fixing an issue introduced in 2.8.18. (@sc0ttkclark)

2.8.18 – June 10th, 2022

  • Added: New helper functions pods_clean_memory() and pods_maybe_clean_memory() introduced to provide WP-CLI commands in Pods core and add-ons the ability to help reduce memory usage in long running processes. (@sc0ttkclark)
  • Added: New function Pods::is_defined() determines whether a Pod was defined or if it was generated adhoc when calling a non-defined Pod. (@sc0ttkclark, @JoryHogeveen)
  • Added: New function Pods::is_valid() replaces the logic in Pods::valid() to better follow the naming pattern used elsewhere in Pods. Pods::valid() is not deprecated yet. (@sc0ttkclark)
  • Added: New functions pods_static_cache_get(), pods_static_cache_set(), and pods_static_cache_clear() abstract the static cache handling that would sometimes fail if the class was not available. (@sc0ttkclark)
  • Added: New filter pods_init_register_assets_load_pods_dfv_on_front which allows you to force loading Pods DFV scripts on the front of the site when needed. Normally they will be included but some plugins/themes may need them enqueued sooner. (@sc0ttkclark)
  • Tweak: Improved performance when using TranslatePress by optimizing how settings and blocks are handled to avoid extra __() translation calls. (@sc0ttkclark)
  • Tweak: Improved performance with Block configurations. (@sc0ttkclark)
  • Tweak: Improved performance with existing content type checks. (@sc0ttkclark)
  • Tweak: Improved performance by offering a new setting to enable/disable tracking changed fields. (@sc0ttkclark)
  • Tweak: Improved performance by offering a new setting to enable/disable metadata integration. (@sc0ttkclark)
  • Tweak: Improved performance and third party plugin compatibility by offering a new setting to enable/disable metadata display overrides for Relationship/File fields. (@sc0ttkclark)
  • Tweak: Improved file types help text on the File field to describe how limiting file types works more clearly. (@sc0ttkclark)
  • Tweak: Default input type for Relationships multiple-select is now List View. (@sc0ttkclark)
  • Fixed: File path checks are now more strict and consistent across all Pods Views loading. (@sybrew from The SEO Framework team, @sc0ttkclark)
  • Fixed: SVG and other file types would not properly match up when certain plugins add additional mime types to be supported. (@sc0ttkclark)
  • Fixed: Improved fallback handling for DB table schema errors when trying to add a column that may already exist in the table. (@sc0ttkclark)
  • Fixed: Support labels for HTML field types in more form areas. (@sc0ttkclark)
  • Fixed: PodsUI now filters all field values instead of circumventing that when it’s pulled from the table row already. (@sc0ttkclark)

2.8.17 – May 11th, 2022

  • Fixed: Attempting to catch potential issues where an issue is detected with loading the Tribe Common library by introducing a wrapper function pods_container() to be used before calling tribe(). (@sc0ttkclark)

2.8.16 – May 6th, 2022

  • Added: More compatibility with Advanced Relationship Storage Add-On from Pods Pro by SKCDEV which allows for saving table-based relationship fields during the normal save process. (@sc0ttkclark)
  • Fixed: Booleans when saving to the database now prepare as %d instead of the generic %s. (@sc0ttkclark)
  • Fixed: Additional SV file escaping on exports to prevent formulas from evaluating in certain spreadsheet apps unexpectedly. (@sc0ttkclark)
  • Fixed: The old Pods / Pods API CLI commands were unintentionally removed in Pods 2.8 and they have now been brought back as wp pods-legacy and wp pods-legacy-api. (@sc0ttkclark)
  • Fixed: Improved the text / link for registering connections on Post Types and Taxonomies so they reference the correct object type. (@sc0ttkclark)
  • Fixed: Multi-select fields were not saving properly in certain forms. #6498 #6216 (@zrothauser)
  • Confirmed compatibility with WordPress 6.0.

2.8.15 – April 16th, 2022

  • Added: New pods_callback support in Pods::find() so that you can pass a callback function to use for pods() usage with relationships using the output as “pods”. This allows for using shared instances across large data sets to reduce time. (@sc0ttkclark)
  • Added: New property $data->fetch_full added to PodsData which can be used to turn off additional fetch requests when all table data was already returned by the query with t.*. (@sc0ttkclark)
  • Fixed: When using table-based fields and a non-simple relationship has a field in the table, it will still be expanded like a normal relationship field when requesting it by name with no traversal. (@sc0ttkclark)
  • Fixed: Call PodsField_Pick::simple_objects() using the object instead of statically to prevent PHP notices. (@sc0ttkclark)
  • Fixed: Adjust the Pods\REST\V1\Endpoints\Base::check_permission() method so that it references the correct \Pods object. (@sc0ttkclark)

2.8.14 – April 15th, 2022

  • Added: New $params support in Pods::total_found( $params ) to support Pods::find( $params ) shorthand lookups for getting total number of records found more easily. (@sc0ttkclark)
  • Added: New pods_api_save_field_table_definition_mode filter allows overriding the definition mode when saving a field (bypass/add/drop/change) for schema management. (@sc0ttkclark)
  • Added: New pods_podsrel_enabled() arguments to allow filtering based on the field and context. (@sc0ttkclark)
  • Added: New pods_data_build_pre_traverse_args filter allows for overriding the find/replace/traverse/params arguments for a PodsData::build() request before relationship traversal runs. (@sc0ttkclark)
  • Added: New pods_data_traverse_recurse_handle_join filter allows for overriding the JOIN SQL used for relationship traversal. (@sc0ttkclark)
  • Fixed: Resolved potential PHP issues with path checks in PodsView on certain environments. (@sc0ttkclark)
  • Fixed: When a slug is set on a Pods Page, if the slug value comes through as empty due to a path issue, it will now enforce a 404 as expected. (@sc0ttkclark)
  • Fixed: Resolved a few issues with the old field data coming through to the pods_api_save_field_old_definition filter. (@sc0ttkclark)
  • Fixed: No longer showing WPDB errors from WPDB when query errors are forced off. (@sc0ttkclark)

2.8.13 – April 10th, 2022

  • Fixed: Resolved PHP issues with PHP 7.x with the WPML integration. (@sc0ttkclark)

2.8.12 – April 8th, 2022

  • Fixed: Resolved PHP issues with PHP 7.x with the REST API endpoints. (@sc0ttkclark)
  • Fixed: Fix Auto Template logic for detecting taxonomy archives to get the correct pod name from the associated term. #6368 #6490 (@JoryHogeveen)

2.8.11 – April 8th, 2022

  • Added: You can now enable types-only mode for Pods under Pods Admin > Settings. This new mode will disallow adding and managing custom groups/fields. You can force it on by defining PODS_META_TYPES_ONLY as true in your wp-config.php too. #6437 (@sc0ttkclark)
  • Added: Now you can limit relationship fields that relate to post types to only include posts that match the current post’s author. #4291 (@sc0ttkclark)
  • Added: JS API – Now you can hook into right after the Pods form fields have loaded by using window.PodsDFV.hooks.addAction( 'pods_init_complete', 'pods/dfv', () => {} ); #6482 (@zrothauser, @sc0ttkclark)
  • Added: JS API – New JS helper functions to interact with fields on the screen including window.PodsDFV.getField( pod, itemId, fieldName, formCounter ), window.PodsDFV.getFields( pod, itemId, formCounter ), window.PodsDFV.getFieldValue( pod, itemId, fieldName, formCounter ), window.PodsDFV.setFieldValue( pod, itemId, fieldName, value, formCounter ). #6471 #6475 (@zrothauser, @sc0ttkclark)
  • Added: CLI – New CLI command wp pods playbook run which can run playbook .json files which allow you to perform multiple tasks with the Pods API. Useful for coordinating renames of Pods, Groups, and Fields, along with other CLI tasks between different environments. #6460 (@sc0ttkclark)
  • Fixed: Limit by post status option has been resolved but you may need to re-save your post status choices again. #6470 (@sc0ttkclark)
  • Fixed: Duplicated Pods now properly set the groups for the duplicated fields. If you have a Pod that is missing fields, try adding &pods_debug_find_orphan_fields=1 to your edit pod URL and it should automatically fix them for you. #6463 (@sc0ttkclark)
  • Fixed: Advanced Content Type modals now close as expected when saving them within Flexible Relationships (Add New / Edit links for a relationship). #6457 #6481 (@zrothauser)
  • Fixed: Thumbnails in file lists now properly scale down as expected. #6473 #6474 (@JoryHogeveen)
  • Fixed: Simple Relationships now properly save once again for Settings pods. #6476 (@sc0ttkclark)
  • Fixed: The relationship field option for Autocomplete Select fields have improved drag and drop functionality to resolve issues with larger datasets. #6428 #6466 (@zrothauser)
  • Fixed: Now refreshing the language cache when WPML switches languages. #6448 #6449 (@JoryHogeveen)
  • Fixed: Disabled Tribe Common shortcode handling (when loading TC for Pods in independent-mode). #6438 (@sc0ttkclark)
  • Fixed: Resolved issue with the editor instance appearing over the dropdown select field options. #6452 #6453 (@JoryHogeveen)

2.8.10 – February 1st, 2022

  • Fixed: Meta compatibility fix for when it was not saving to meta through direct update meta calls. #6429 #6431 (@sc0ttkclark)
  • Fixed: Don’t render the wrapper HTML for blocks if the contents are empty. (@sc0ttkclark)

2.8.9 – January 31st, 2022

  • Added: There’s a new tool at Pods Admin > Settings > Tools that will let you “Recreate missing tables”. This will run the logic used to create those tables needed by Pods. This is currently just for wp_podsrel but will eventually include all other table-based Pods too. #5795 (@sc0ttkclark)
  • Added: Are you interested in seeing how much data your Pods are storing? You can now add &pods_include_row_counts=1 to the Pods Admin > Edit Pods URL and see how many Data Rows, Meta Rows, and Relationship Rows are associated to each pod. This is a hidden feature and will be added in the future as a link directly within the Edit Pods screen. (@sc0ttkclark)
  • Added: Support for alignment and custom classes on Pods Blocks. Disabled support for Anchors until they are officially resolved for dynamic blocks in core. (@sc0ttkclark)
  • Added: Hooks implemented for new compatibility with the Pods Pro by SKCDEV Add On for Advanced Relationship Storage. (@sc0ttkclark)
  • Fixed: Abstracted the meta saving into PodsMeta::save_meta() so that it can be used to remove duplicate logic in other methods and implemented it for meta fallback for simple relationship compatibility saving in integrations like Paid Membership Pro. (@sc0ttkclark)
  • Fixed: Resolved single/double quotes that were getting converted to HTML entities for Custom Post Type singular/plural labels. #6399 #6394 (@JoryHogeveen)
  • Fixed: Additional work on preventing unnecessary queries from other plugins with our Meta API integration. #6379 (@sc0ttkclark)
  • Fixed: Groups now properly check their access rights before showing. #6377 (@sc0ttkclark)
  • Fixed: Resolved deprecation notices where we still called pods_ui_message(), replaced with pods_message(). #6340 (@sc0ttkclark)
  • Fixed: Resolved issues with 00:00 times when HTML5 inputs are enabled for Date/Time fields. #6256 #6382 (@zrothauser, @sc0ttkclark)
  • Fixed: Some times after updating to 2.8, a Pod may have orphaned fields that exist outside of groups. This normally gets handled during the first time you edit a pod but now we have an additional count check to see if the field counts match as expected when editing a pod so it can trigger that process even after the first edit in 2.8. #6384 #6302 (@sc0ttkclark)
  • Fixed: Cleaned up and abstracted the logic to build the field name used in DB queries for a field. #6270 #6411 (@sc0ttkclark, @jamesgol)
  • Fixed: Resolved Date/Time field issues on certain browsers/OS combinations. #6318 #6300 (@sc0ttkclark, @zrothauser)
  • Fixed: No longer showing the pagination links if there’s just one page. #5184 (@sc0ttkclark)
  • Fixed: Resolved PHP warnings with the Pods Blocks that may occur due to variations on how the data is provided to the block. #6367 #6386 #6388 (@JoryHogeveen, @sc0ttkclark)
  • Fixed: Relationships now properly respect the depth provided in the field settings for REST API responses. #6373 (@sc0ttkclark)
  • Fixed: Better prevent recursive loops when saving meta from third parties. #6391 (@sc0ttkclark, @mircobabini)
  • Fixed: Resolve pods_data usage in PodsAPI::import(). #6404 (@sc0ttkclark, @LN-MDeRuscio)
  • Fixed: Multiple block collections registered through Pods now works as expected. #6403 (@sc0ttkclark)
  • Fixed: Groups now remove from the screen after deleting them. The group was deleted before but it wasn’t removed from the screen which caused confusion. #6395 #6396 (@zrothauser, @sc0ttkclark)
  • Fixed: Resolved PHP warning in PHP 8+ on 404 pages for taxonomy terms. #6383 #6387 (@JoryHogeveen)
  • Fixed: Reordering relationships for all inputs that support that has been resolved. #6206 #6094 #6390 (@zrothauser)
  • Fixed: Resolved issues with newly added items being added to the multi-select input. #6216 #6385 (@zrothauser)
  • Fixed: Improved appearance for Add New modal sizes. #6364 #6365 (@JoryHogeveen)

2.8.8.1 – 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)

2.8.4.1 – 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