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


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.


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


This plugin provides 6 blocks.

  • Pods Single Item - List Fields Display fields for a single Pod item.
  • 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.


2 сар 4, 2024
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.
10 сар 4, 2023
One of the best, if not THE BEST custom fields plugin available.
9 сар 13, 2023
Easy to use, and lets you create extra content types real easy.
8 сар 28, 2023 4 replies
Please don't use Pods! Unfortunately, I have to work with Pods for 7+ of years now … (our own decision back then, deeply regret it). (For complex projects) The major issue is, that Pods is not working with WordPress, but working around it. Means, it doesn't integrate into WordPress (and plugins) very well. You have custom, non-intuitive functions for everything Pods related. So you eventually have to write a lot of custom code instead. It gives you more problems than solving. Whenever there is a new requirement where Pods is involved, it needs much more resources to get resolved. The second major issue is, that the overall (code) quality of pods is terrible. Every update is a risk. It has a lot of technical debt, you will inherit using pods. Personally, it got more obvious after learning that Caldera Forms and Pods are from the same person originally. Unfortunately, I had to customize Caldera Forms too, which really was a burden… Clever ideas, but unmaintainable code…
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.


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)

3.0.9 – December 7th, 2023

  • Feature: Added support for disabling Quick Edit for custom post types for sites on WP 6.4+. (@sc0ttkclark)
  • Tweak: Revamped the Pods Blocks error handling so it looks nicer. (@sc0ttkclark)
  • Tweak: Updated the default values used for “Add New” labels to use “Add New {singularLabel}” instead to follow WP core’s direction. (@sc0ttkclark)
  • Fixed: Custom capability types now save as empty and remain empty as intended. When empty, they will default to the current post type name and a placeholder shows what that would be. #7218 (@sc0ttkclark)
  • Fixed: Added more handling for SQL errors for Pods Blocks. #7207 (@sc0ttkclark)
  • Fixed: Resolved WP debug notices when calling wp_cache_flush_group by checking if wp_wp_cache_supports( 'flush_group' ) first. (@sc0ttkclark)

3.0.8 – October 20th, 2023

  • Fixed: Resolved the hooked var handling for pre-save hooks in PodsAPI::save_pod_item() that was broken in Pods 3.0. #5532 #7195 (@sc0ttkclark, @olivierguerriat, @HmCody)
  • Fixed: Resolve PHP deprecated notice in the PodsUpgrade class. #7190 (@sc0ttkclark)

3.0.7 – October 19th, 2023

  • Fixed: Avoid duplicate fields showing up when registering fields manually through pods_group_add() instead of through normal DB or file-based configs. #6317 (@sc0ttkclark)
  • Fixed: Resolve cases where Settings pod types would treat every save as a new item. (@sc0ttkclark)
  • Fixed: Swept through the codebase to fix all remaining return type issues with PHP 8+ for the most common extended/implemented methods. (@sc0ttkclark)

3.0.6 – October 2nd, 2023

  • Fixed: Resolved a plugin conflict with The Events Calendar / Event Tickets plugins that was introduced in 3.0.5. (@sc0ttkclark)
  • Fixed: PHP deprecated notices resolved for return types in PHP 8+ (@sc0ttkclark)

3.0.5 – October 2nd, 2023

  • Tweak: Added the “full” image size to the reference list in the Pods Template editor. #7183 #7184 (@JoryHogeveen)
  • Fixed: PHP deprecated notices resolved for WYSIWYG field. #7182 (@sc0ttkclark)
  • Fixed: Relationships with user capabilities filtered will now work as expected in more cases when using WP multisite. #7181 #7185 (@JoryHogeveen)
  • Fixed: Enforce single value for inputs instead of arrays of values in single format for file/relationship field. This resolves issues with Conditional Logic not seeing the initial value on reload. (@sc0ttkclark)
  • Fixed: Normalize numbers when doing conditional logic comparisons. (@sc0ttkclark)
  • Fixed: Add new options to trim content of fields by removing empty p tags, trimming whitespace at the end of lines, and removing extra lines. Default those to off (previously they were just always on). (@sc0ttkclark)
  • Fixed: Add tribe() backward compatibilty function for Pods add-ons that still call that function. This only gets included by Pods when Tribe Common is not detected on the site. (@sc0ttkclark)
  • Fixed: Resolve file/relationship lookups for settings pages that are DB vs file-based configs. (@sc0ttkclark)

3.0.4 – September 25th, 2023

  • Fixed: Resolve bidirectional removal issue from Pods 2.x where bidirectional relationships would not have the current item removed when you removed that related item. (@sc0ttkclark)
  • Fixed: Added repair tool to address the potential for invalid conditional logic saved to the DB in early Pods 3.0 releases or future cases, this is when conditional logic stores a rule that ends up being a long serialized PHP string that contains a serialized PHP array. (@sc0ttkclark)

3.0.3 – September 22nd, 2023

  • Fixed: Settings pods handling for relationships for Pods that are registered by DB / Code / File now normalize as necessary for relationships stored in the wp_podsrel index table for which item ID is used to relate from. (@sc0ttkclark)

3.0.2 – September 21st, 2023

  • Feature: You can now disable the Add New forms for a Post Type pod under the Advanced tab. (@sc0ttkclark)
  • Fixed: Bi-directional field saving has been restored after breaking in Pods 2.9.x. #7172 (@sc0ttkclark)
  • Fixed: More PHP notices/warnings/errors with PHP 8+ addressed. #7170 #7171 (@sc0ttkclark)
  • Fixed: Settings saving for simple relationships fixed when using a setting pod registered by code/file. #7169 (@sc0ttkclark)
  • Fixed: Settings forms would sometimes say the save failed when it was successful. (@sc0ttkclark)
  • Fixed: Fix relationship rendering in tables for Advanced Content Types. #7173 (@sc0ttkclark)
  • Fixed: Potential SQL errors when a Pod does not exist but it’s still set a relationship object for a field. (@sc0ttkclark)
  • Fixed: Pod config data is now correctly passed in all instances of pods_meta_default_box_title filter so it’s uniform in usage. (@sc0ttkclark)
  • Fixed: Bypass “@” prefixed items from being processed in file-based configs. (@sc0ttkclark)
  • Fixed: Removed extra line in array for post type definition where can_export was set two times. (@sc0ttkclark)
  • Fixed: Resolved some cases where boolean return types were treated as filters in `Store::find()“ calls. (@sc0ttkclark)
  • Fixed: The Pods\Blocks\Types\Base::in_editor_mode() method resolves PHP issue with current screen reference. (@sc0ttkclark)
  • Fixed: Ensure code/file based configs do not overwrite DB configs to avoid potential issues where duplicate configs get pulled up in lookups. (@sc0ttkclark)
  • Fixed: Some relationship field options were not showing their available options to select from when editing a field on the Edit Pod screen. #7176 (@sc0ttkclark)

3.0.1 – September 13th, 2023

  • Fixed: Custom Settings Pages no longer have the error when saving that was introduced by changes made in Pods 3.0. (@sc0ttkclark)

3.0 – September 13th, 2023

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 6.0+ (previously: WP 5.7+)
  • New minimum PHP version required: PHP 7.2+ (previously: PHP 5.6+) — Hey! You should take the time to update to PHP 8.1+ because that is currently the lowest version actively supported by The PHP Group.

3.0 Changelog

  • Feature: Conditional Logic for Fields – You can now choose to show or hide a Pods field based on the value of another Pods field. More will be expanded into this functionality in the future. #609 (@zrothauser, @sc0ttkclark, @Shelob9)
  • Feature: Support for the new Command Palettes feature added in WordPress 6.3. This will allow you to contextually go to the Edit Pod screen for the matching Pod configuration of that post type directly from the Edit Post screen. (@sc0ttkclark)
  • Added: Set up backward compatible updates to our prior depends-on and related logic for internal conditional logic prior to Pods 3.0 so they now properly translate over to the new format required. (@sc0ttkclark)
  • Added: When importing and exporting Pods packages, they now include the list of active components. (@sc0ttkclark)
  • Fixed: Media saving issue has been resolved when the Media Modal fields are disabled, it now saves fields as expected. #7158 (@sc0ttkclark, @pd-cm)
  • Fixed: Improved compatibility with Polylang. #7139 #7140 (@JoryHogeveen)
  • Fixed: Redirects after deleting a Pod now send to the current site dashboard instead of hardcoded /wp-admin/ link. #7137 #7162 (@JoryHogeveen)
  • Fixed: When extending a post type or taxonomy it will now use the associated post type or taxonomy label when setting up the pod so it matches. #6350 (@sc0ttkclark)
  • Fixed: Resolved problems with saving the featured image from frontend forms when a post type supports featured images. (@sc0ttkclark)
  • Fixed: Don’t show SQL errors when getting relationship data for forms if the debug display is disabled in WP. (@sc0ttkclark)
  • Fixed: Improved tooltip appearances with better color contrast. #7119 #7118 (@heybran)
  • Removed: The Tribe Common library has been removed from Pods and it will alleviate conflicts from plugins like The Events Calendar and Event Tickets going forward. (@sc0ttkclark)

2.9.19 – June 28th, 2023

  • Fixed: Ensure that cache modes are validated correctly to prevent transients / static cache / etc from being forced into persistent cache which could fill caches up. (@sc0ttkclark, props to Björn Hasselberg for helping debug and find this)

2.9.18 – June 23rd, 2023

  • Tweak: Abstract all container calls for Tribe Common library to Pods specific functions. (@sc0ttkclark)
  • Fixed: Prevent fatal errors with our service provider classes that was caused by a new version of The Events Calendar / Event Tickets plugin from a change to the Tribe Common library that they made. #7105 #7106 (@JoryHogeveen, @sc0ttkclark)

2.9.17 – June 22nd, 2023

  • Performance: Allow disabling showing fields in the Media Library modals for sites that experience heavy performance issues from large media grids in the admin area. This new option is available in Pods Admin > Settings > Performance. (@sc0ttkclark)
  • Tweak: Optimize single item lookups in the PodsAPI for post type configurations. (@sc0ttkclark)
  • Fixed: Normalize the calls to the list of pod types that were coming from multiple places so they come from PodsAPI::get_pod_types(). (@sc0ttkclark)
  • Fixed: Resolve issues where pod may not specifically be saved as extended but should be treated as extended for custom pod type objects. (@sc0ttkclark)
  • Fixed: Don’t save the newer options for PodsAPI::save_pod() as actual pod config options. (@sc0ttkclark)
  • Fixed: Ignore more internal post types / taxonomies from plugins like Elementor and WooCommerce to prevent conflicts. (@sc0ttkclark)
  • Fixed: Resolve potential PHP errors when Wisdom options aren’t an array as expected. (@sc0ttkclark)

2.9.16 – June 10th, 2023

  • Tweak: Allow bypassing table schema updates and overwriting table schemas in PodsAPI::save_pod() with the new parameters bypass_table_schema and overwrite_table_schema. (@sc0ttkclark)
  • Tweak: Support passing the full WP object (post/term/etc) into pods( $wp_object ) and use the ID associated with it instead of only the get_queried_object_id(). #7094 #7095 (@JoryHogeveen)
  • Fixed: The Pods repair tool was overwriting the storage type for table-based pods to meta, now it uses the proper logic there and also uses a new abstracted method Pod::get_default_storage() for defaults when empty. The tool now also won’t overwrite the table schema for each Pod to prevent unintended problems. (@sc0ttkclark)
  • Fixed: Resolved PHP error when using WordPress versions prior to 6.1 which did not have the did_filter() function that was called. (@sc0ttkclark)
  • Fixed: Resolved issues when using Content Types only mode (no custom fields) in the Pods Settings so that Components like Pods Pages and Pods Templates will continue to have their fields shown. (@sc0ttkclark)

2.9.15 – May 30th, 2023

  • Added: Now showing text notices to explain where performance may be improved for Relationship single/multi select fields when relating to dynamic content which direct the admin to use Autocomplete or List View instead in certain circumstances. (@sc0ttkclark)
  • Added: Add repair tool that can help recover any Pods that have an invalid pod type / storage. (@sc0ttkclark)
  • Tweak: Make the default as Dropdown for single select relationship fields again after seeing some reported issues. (@sc0ttkclark)
  • Fixed: Resolved more PHP 8.x compatibility issues for strlen() usage. (@sc0ttkclark)
  • Fixed: Set default as Dropdown for relationship field configs across Pods. (@sc0ttkclark)

2.9.14 – May 29th, 2023

  • Added: New component: Migrate: Import from the Advanced Custom Fields plugin — It allows importing the Custom Post Types and Custom Taxonomies from ACF. Note: This does not migrate custom fields or field groups. (@sc0ttkclark)
  • Tweak: List View is now the default for Relationship fields that are single select. (@sc0ttkclark)
  • Tweak: Updated Site Health info for Pods to include what Pods settings someone has and included memory limit with current memory limit for easier reference. (@sc0ttkclark)
  • Tweak: Default the “Watch WP Metadata calls” setting to off by default for Pods 2.9.14+. (@sc0ttkclark)
  • Fixed: Always default the Pods setting for metadata_integration to off for new Pods installs when WooCommerce is detected to also be installed. (@sc0ttkclark)
  • Fixed: Validate cache mode used across Pods to ensure unknown modes do not trigger PHP errors. (@sc0ttkclark)
  • Fixed: Resolve PHP errors when registering ACTs via code/JSON. (@sc0ttkclark)
  • Fixed: Ensure the parent post ID gets set in more cases when uploading files via a Pod uploader. (@sc0ttkclark)
  • Fixed: Set default display filter as empty and avoid strlen PHP errors. #7076 #7075 (@JoryHogeveen)
  • Fixed: TinyMCE on frontend would sometimes not show line breaks as paragraphs. #7051 #7049 (@sc0ttkclark)
  • Fixed: Allow HTML5 date fields to allow empty values. #7063 #7016 (@Shelob9)
  • Fixed: Resolved more PHP 8.x warnings and notices. #7074 (@sc0ttkclark)
  • Fixed: Configurations registered via JSON/YML that include field groups are now working as expected to register each group and corresponding fields. #7062 (@sc0ttkclark)
  • Fixed: Removed the extra DB call to get registered Pods blocks from the DB that can be re-enabled via a filter pods_blocks_api_get_blocks_bypass_post_type_find. (@sc0ttkclark)

2.9.13 – March 15th, 2023

  • Added: API > New pods_is_truthy() helper function helps validate truthy strings and handles null/bool/int/float variables too. (@sc0ttkclark)
  • Added: API > New pods_is_falsey() helper function helps validate falsey strings and handles null/bool/int/float variables too. (@sc0ttkclark)
  • Fixed: Cache > Avoid clearing all caches when registering group configs via code. (@sc0ttkclark)
  • Fixed: Avatars > Resolve issues with avatars not showing up in certain circumstances and flush appropriate avatar field caches when changing avatar field value. #7025 (@sc0ttkclark)
  • Deprecated: Components > The Builder Integration component is now officially deprecated and will be totally removed in Pods 3.1. (@sc0ttkclark) – March 12th, 2023

  • Fixed: PHP > Fix potential PHP fatal in PHP 8+ with certain cached data when cache returns string instead of an expected array. (@sc0ttkclark) – March 10th, 2023

  • Fixed: Components > Fix potential PHP fatal in PHP 8+ with the Translate Pods component. #7023 (@sc0ttkclark)

2.9.12 – March 9th, 2023

  • Added: WP-CLI > Added a new wp pods tools flush-cache WP-CLI command to flush the Pods caches. To flushes caches for a specific Pod, use wp pods tools flush-cache --pod=your_pod (@sc0ttkclark)
  • Added: DFV > Introduce window.PodsDFV.detectForm() and window.PodsDFV.detectField() helper methods to normalize everything going into the DFV API. (@sc0ttkclark)
  • Added: DFV > window.PodsDFV methods now accept null for pod, itemId, and formCounter values in various methods which will automatically detect+use the first pod, itemId, and formCounter on the screen. (@sc0ttkclark)
  • Added: API > New PHP function pods_is_demo() will allow Pods to offer streamlined demos using the one-click WASM demo. (@sc0ttkclark)
  • Added: API > New PHP function pods_clone_objects() and pods_clone_object() assist in cloning objects primarily used through callbacks. (@sc0ttkclark)
  • Added: API > New PHP function pods_debug_log() allows for logging exception messages that do not need to be shown on the screen. (@sc0ttkclark)
  • Added: API > New PHP function pods_get_item_object() allows for getting the WP object for an item based on the object type. This is similar to get_metadata() in WP core but as a general solution for any object. (@sc0ttkclark)
  • Added: API > New Pods::has_rows() method can be used instead of Pods::total() to just check if there were any rows returned. (@sc0ttkclark)
  • Added: Pods Field Output > You can now traverse into the fields parent (Taxonomies) and post_parent (Post Types) as relationships like parent.name or post_parent.post_title. This also works for post_author. (@sc0ttkclark)
  • Added: Pods Field Output > You can now call post_thumbnail.title, post_thumbnail.caption, post_thumbnail.description, post_thumbnail.mime_type, post_thumbnail.alt_text, post_thumbnail.width, post_thumbnail.height, post_thumbnail.filesize, post_thumbnail.dimensions, post_thumbnail.filename, and post_thumbnail.extension, and image metadata using post_thumbnail.image_meta.copyright. This also works for other attachments. (@sc0ttkclark)
  • Tweak: Edit Field Modal > Added additional text below the Required option when editing a boolean field to clarify that only the “Yes” option counts as valid. (@sc0ttkclark)
  • Tweak: Pods Field Output > Added full $params from Pods::field() to the filters pods_data_map_field_values_custom, pods_data_map_field_values_map_value, and pods_data_map_field_values_map_value_pre_check. (@sc0ttkclark)
  • Tweak: Pods Field Output > Bypass mapping values when in the form context to prevent conflicts with Avatar fields and other fields. (@sc0ttkclark)
  • Tweak: Migration > Abstracted the migration process on first edit of a Pod to detect orphaned fields on future edits with a notice on the screen about the repair. (@sc0ttkclark)
  • Tweak: API > Split up cache flushing method PodsAPI::cache_flush_pods() into a separate method PodsAPI::cache_flush_groups() and PodsAPI::cache_flush_fields() to more easily flush specific object types. (@sc0ttkclark)
  • Tweak: API > Passing more context into pods_podsrel_enabled() usage for future iteration work on certain areas of the code. (@sc0ttkclark)
  • Fixed: Edit Field Modal > Attempt to auto-fix pick_object for display when it is set to “pod” but the real object is “post_type” or “taxonomy”. #7007 (@sc0tkclark)
  • Fixed: Components > Fixed PHP warnings with the Translate Pods component (@JoryHogeveen)
  • Fixed: Pods Shortcode > Bypass showing the Pods Shortcode button on TinyMCE editors when on an Elementor edit screen. (@sc0ttkclark)
  • Fixed: Stats Opt-in > Don’t show the opt-in message on Pods content screens, only show it on pages under the Pods Admin menu. (@sc0ttkclark)
  • Fixed: Relationship Modal > Updated CSS to prevent the modal from being narrow. #6996 (@pedromfm, @sc0ttkclark)
  • Fixed: DFV > Handle false values as null properly to prevent JS TypeErrors. #6963 (@sc0ttkclark, @spiderneo)
  • Fixed: API > Normalize object_type for PodsAPI::get_table_info(). #7007 (@sc0tkclark)
  • Fixed: API > Return 0 for {@user.ID} when logged out instead of null. #6979 (@jeiseman, @sc0ttkclark)
  • Fixed: API > Return empty string when user context used instead of null for certain fields. (@sc0ttkclark)
  • Fixed: API > Use static cache for PodsMeta::groups_get() instead of static variable to allow flushing the groups cache. (@sc0ttkclark)
  • Fixed: Object Cache > When serializing Whatsit object, prevent serialized Closures being cached through Pods Alternative Cache. (@sc0ttkclark)
  • Fixed: Pods Field Output > Resolved issue with the fields parent (Taxonomies) and post_parent (Post Types) so they return the ID as they used to in previous Pods versions. (@sc0ttkclark)
  • Fixed: Pods Field Output > Resolve dot notation for attachments and post_thumbnail fields fallbacks when calling object fields like post_thumbnail.ID. #7005 (@sc0ttkclark)
  • Fixed: Bidirectional Relationships > Now using the correct related limit for bidirectional relationships instead of unlimited. (@sc0ttkclark)
  • Fixed: Admin Columns integration > Resolved PHP warning with substr() usage. #7014 (@sc0ttkclark)
  • Fixed: Pods Find Queries > References to .meta_value should always join the meta table when using a table-based Pod that supports meta-based storage. #7009 (@sc0ttkclark)
  • Fixed: API > Fixed filter_by_date usage of sprintf() to prevent PHP warnings. #6980 (@sc0ttkclark) – January 23rd, 2023

  • Fixed: PHP 5.6 compatibility has been restored after some PHP 7.0+ code came through from tribe-common library update in Pods 2.9.11. (@sc0ttkclark)
  • Fixed: Identified and resolved additional PHP 5.6 / PHP 7.0+ compatibility warnings in the Pods codebase. (@sc0ttkclark)
  • Fixed: Disabled the unnecessary Promoter authentication checks from tribe-common library. (@sc0ttkclark, @fabrisancho)

2.9.11 – January 19th, 2023

  • Security: Fix nonce verification check when deleting a pod. Thanks to Rafshanzani Suhada for responsibly disclosing this through Patchstack (@0xshdax, @sc0ttkclark)
  • Compatibility: Improved compatibility with PHP 8.1+ (@sc0ttkclark)
  • Tweak: Removed some of the jQuery dependency for Pods DFV, the only part that remains is jquery-ui-sortable for File fields (to be further refactored into React at a later point). (@sc0ttkclark)
  • Fixed: Updated the tribe-common library which had an older version of JWT included. (@sc0ttkclark)
  • Fixed: Remove debug output on the Tools page when no actions needed to run. (@sc0ttkclark) – December 14th, 2022

  • Fixed: The new pods_get_instance() function now correctly checks if the $pod object is set up before calling methods on it. (@lkraav, @sc0ttkclark)
  • Fixed: Properly support REST API namespace customizations for Post Types and Taxonomies. (@sc0ttkclark) – December 13th, 2022

  • Fixed: WP_Error class usage within namespace needed to be identified correctly for \Pods\Pod_Manager. (@lkraav, @sc0ttkclark)

2.9.10 – December 13th, 2022

  • Performance: Major performance improvements have been made to decrease queries in more areas of Pods and reduce overall load on any page. (@sc0ttkclark)
  • Added: New WP-CLI tool command: wp pods tools delete-all-content <pod> [--test] (@sc0ttkclark)
  • Added: New WP-CLI tool command: wp pods tools delete-all-groups-and-fields <pod> [--test] (@sc0ttkclark)
  • Added: New WP-CLI tool command: wp pods tools delete-all-relationship-data <pod> [--fields] [--test] (@sc0ttkclark)
  • Added: New WP-CLI tool command: wp pods tools repair-groups-and-fields <pod> [--test] (@sc0ttkclark)
  • Added: Pods Admin > Tools and Pod Resets can now be previewed before you run them. (@sc0ttkclark)
  • Tweak: Added debug backtrace to DB query errors as an admin, just add ?pods_debug_backtrace=1 to the URL to enable that to find out more details about where the query came from. (@sc0ttkclark)
  • Tweak: Relationships related to a Post Type now have an option to specify “Any Status” as an option for which posts to show. (@sc0ttkclark)
  • Fixed: Advanced filters modal shows empty input fields as expected now for Advanced Content Types. #6949 (@sc0ttkclark)
  • Fixed: Implemented num_prefix in Pods::ui() for more customization capabilities. (@sc0ttkclark)
  • Fixed: Reduce load on block editor screen for Pods Blocks that have no preview. (@sc0ttkclark)
  • Fixed: PHP 8.0+ compatibility changes have been made to bypass PHP deprecation notices. #6579 (@sc0ttkclark)
  • Fixed: All currently known PHP 8.0+ deprecation notices have been resolved. (@sc0ttkclark)
  • Fixed: Removed %%%s%% usage in prepared LIKE queries for PodsTermSplitting class. (@sc0ttkclark)
  • Fixed: Pods Auto Templates now checks whether a post is password protected (and needs auth) before outputting the template. #6962 (@sc0ttkclark)
  • Fixed: Excluded Pods config post types from deletion when post author is deleted. #6938 (@sc0ttkclark)
  • Fixed: Settings values now get cached and cleared correctly between saves. #6964 (@sc0ttkclark)
  • Fixed: Admin Columns integration no longer throws unaught type errors for field values that contain an array. #6965 #6966 (@therealgilles, @sc0ttkclark)
  • Fixed: Block editor inspector controls for Pods Blocks that have dropdowns now show as full width as expected. (@sc0ttkclark)

2.9.9 – October 31st, 2022

  • Tweak: When a field has moved outside of a group, disallow deleting that group until the Pod has been saved to prevent those fields being removed/orphaned. #6940 #6937 (@zrothauser, @sc0ttkclark)
  • Tweak: When registering code-based fields, if you have a relationship field that you are supplying the 'data' option for, you can now pass in a callable function (not a string or array due to back-compat) to return the options only when the data is needed instead of every page load. (@sc0ttkclark)
  • Fixed: Number and currency parsing issues resolved with HTML5 inputs. #6928 #6922 (@JoryHogeveen, @sc0ttkclark)
  • Fixed: Add support for post_thumbnail._src and post_thumbnail._url variations as fallbacks for the correct post_thumbnail_src and post_thumbnail_url field usage. #6935 (@sc0ttkclark)
  • Fixed: Resolve issues saving Pods Pages fields. #6942 (@sc0ttkclark)
  • Fixed: Number/currency simple repeatable fields now formats as expected. #6930 #6929 (@JoryHogeveen, @sc0ttkclark)
  • Fixed: Update cache group usage and flush to clear Pods post type storage cache options too. (@sc0ttkclark)
  • Fixed: Allow 0 as a valid option for relationship values.
  • Fixed: Updated compatibility with Custom Post Types UI migration component.

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