A security issue was responsibly reported and this release hardens security so that we properly enforce safe URLs for the Pods form submission confirmation page URLs.
Are you running an older version of Pods? A special release has been prepared for each major version back to Pods 2.7 as per our Security EOL policy.
Now that our usage chart is looking much more colorful after the new major releases we’ve put out in the past two years, it’s time to revisit EOL security support on them.
We have an official security policy in place which explains which versions are supported and which are EOL. Currently any version below Pods 2.7 is no longer supported for security updates.
The most notable change in that policy today is:
A new EOL date has been set for both Pods 2.7 and Pods 2.8 of December 31st, 2024.
This will reduce the overhead for our contributor team supporting those older versions as they can be very time consuming to backport changes to.
This release started out as Pods 3.1.5 but it became clear that Revisions and Block Bindings were features of their own that deserved to be highlighted through a major release.
register_meta()
for all Pods fields on meta-based Pods. You can enable this feature in Pods Admin > Settings > “Register meta fields”. (@sc0ttkclark)core/post-meta
source. To use your custom fields there, you will need to enable “Register meta fields” in your Pods Admin > Settings and set your Pod to show it’s REST API fields in the “Meta” location instead of Object. (@sc0ttkclark)pods/bindings-field
and then just pass the same arguments you would pass for a normal [pods]
shortcode or block. This will bind that dynamic output to the block you are working with. (@sc0ttkclark){@user.ID}
. (@sc0ttkclark)bypass_detect_loop="1"
attribute. #7269 (@sc0ttkclark)pods_register_block_type()
not clearing the known blocks cache when registering them. #7167 (@sc0ttkclark)array_combine()
usage from changes in WP 6.5. #7266 (@sc0ttkclark)trim()
. (@sc0ttkclark)window.wpEditorL10n
calls to more safely check for it to prevent JS console errors. (@sc0ttkclark)set_transient
and setted_transient
hooks have the proper args expected sent. (@sc0ttkclark)While this release is meant to be as backwards compatible as possible, some aspects of security hardening may require manual intervention by site owners and their developers. Having trouble upgrading? Check out our Upgrade FAQ and Priority Upgrade Support form.
Are you running an older version of Pods? A special release has been prepared for each major version back to Pods 2.7 but they do not include additional customization options and tools for Access Rights that are provided in Pods 3.1.
Note: The .1 versions of the hotfixes had a deployment problem on .org and were incremented to .2 to get around that issue.
user_pass
, user_activation_key
, and post_password
through Pods dynamic features / PHP. These values will be set in Pods references to ****************
if they were not-empty so you can still do conditional checks as normal. While Scott was already aware of this in pre-planned security release work, additional props go to the Nex Team / Wordfence for responsibly reporting this too. (@sc0ttkclark)read
capability from that post type as a normal user. For displaying content from Users, they must have access to list_users
capability to view that. Read more about how access rights work with Pods (@sc0ttkclark)create_users
or edit_users
capability to create or edit that user. Read more about how access rights work with Pods (@sc0ttkclark)post_content
field is cleaned based on the level of access they have to prevent inserting unintentional shortcodes or blocks. (@sc0ttkclark)esc_attr,esc_html
which can be further customized in Pods Admin > Settings > Security. (@sc0ttkclark)There were no known attempts to take advantage of the issues resolved by this release. Most of the issues have never even been reported to the Pods team aside from responsible disclosures to us by Wordfence through a security researcher where noted.
On a personal note — This is a release that I’ve been personally planning since WordCamp US in August 2023 when I realized that most people using Pods don’t recognize what WordPress does for Access Rights and Pods isn’t doing enough to elevate that. I’ve been developing this in depth, automated testing, and doing user testing. I’ve worked evenings, weekends, holidays, and in my otherwise free time to ensure that the end result is clean, secure, and reduces headaches for the existing sites that upgrade. I’ve probably spent somewhere around 100 hours of my time on this so that we didn’t have to pay extra development costs and our support could keep going from the already thin Friends of Pods budget.
The other issues and security problems I discovered along the way were addressed accordingly. I did my very best to address everything holistically and as clean as possible. I knew I had to backport everything to previous Pods releases which each had different minimum WordPress versions and minimum PHP versions supported. Nothing was easy and everything was time consuming to get right.
All that is to say — this was a lot of work! None of it would be possible without your support through Friends of Pods and Pods Pro by SKCDEV.
Extra special shout out for all of the moral support and help from these people who made life a little less solitary as I had to work on this in complete secret:
Yesterday, I quietly celebrated the 15 year anniversary since Pods was released by Matt Gibbs on October, 8th, 2008. I found out about Pods that same week and then I jumped into heavily using it on my own web projects at work. Over a short time, I became more involved in support and development contributions which eventually led to me leading the whole project.
By the way, Matt Gibbs went on to release the FacetWP (2013) which just turned 10 this year 🎉
Back then, we were pushing the confines of WordPress at the time when Pods was released. Custom post types weren’t officially a thing until WordPress 3.0 was released a year and a half later in 2010. There were plugins at that time which customized the edit post screen to support custom fields. You’ll never believe this but one of those plugins is also still around after all of these years! Custom Field Template was released just over a month before Pods was. That plugin is the only custom field plugin predating Pods that has survived. Even Custom Write Panel was short lived and hey do you remember Flutter or the subsequent fork Magic Fields?
That got me thinking about longevity and how we all did or didn’t make it to this point. I believe many competing plugins were swallowed by the great Advanced Custom Fields effect. ACF was first released in 2011 over two years after Pods came on the scene. But pretty much immediately it garnered interest because Elliot Condon had a knack for great UI and was able to monetize it early on to help it grow. While Pods and other plugins lacked in UI, ACF made it easy to understand with its limited focus on custom fields and it looked dapper while doing it.
ACF wasn’t the only plugin that gobbled up market share from Custom Field plugins — there were other projects like Meta Box (2011), Types (2011, now premium-only via Toolset), Custom Field Suite (2011, a fork of ACF by Matt Gibbs), Fieldmanager (2012), CMB2 (2014), and many others. Each plugin that hit the scene would all compete for the same sort of people who would otherwise have enjoyed using a plugin like Pods or ACF. Competition is healthy and there still remains a variety of different options for Content Type / Custom Field plugins for WordPress out there.
Over time, those bigger plugins probably demotivated a few contributors of various smaller plugins and APIs out there. They became less frequently updated and the releases to address WordPress compatibility inevitably slowed. Some plugins were closed or became inactive on WordPress.org while some are inactive but remain available on GitHub repositories. But that didn’t seem to happen with Pods — we stuck around even though we had 1/20th of the usage share of our largest commercially-backed competitor ACF.
With Pods, we received very few donations initially in the early years. I don’t have all of the records from back then but we probably got less than $100 in donations total. Then I ran a Kickstarter fundraiser for Pods 2.0 and landed a very lucky Automattic sponsorship after that. Eventually with the start of the Friends of Pods program, we started gaining momentum again. Then, as Gutenberg brought the Block Editor into WordPress, we saw the Automattic sponsorships overall get redirected to Block/React focused projects. This set us back on resourcing and our funding never really recovered to the same level since then.
Then a year later, Pods 2.8 brought Pods into the world of Blocks and React. It was expensive, time consuming, and difficult. But we couldn’t have done it without the knowledge and expertise of Zack Rothauser.
Pods Foundation, Inc currently receives about $1,400 in monthly and $8,700 in annual donations which gives us about $25,000 budget (excluding payment processing fees) to work with every year. We spend around $1,400-$2,000 monthly towards our paid support and development contributors Jory Hogeveen (Keraweb) and Paul Clark. The remaining amount goes towards domains, hosting, invoicing SaaS, and software. There’s not much wiggle room, and I’m not even getting paid from any of the donations for my own time. Everything donated to Pods goes right back into Pods.
I’d love to find new ways to bring sponsorships and donations into Pods to help build major features that can take Pods to the next level. I’m still thinking about what that looks like going forward.
We just released Pods 3.0 a month ago and there’s barely been more than a month or two between maintenance releases the entire time Pods has been around. Think about that… even during the time we were building major feature releases, we were also putting out maintenance releases (x.x.1+ versions) with bug fixes and enhancements. Heck, some times we released a feature during a maintenance release like during the period between Pods 2.7 (2017) and Pods 2.8 (2021) just to keep everyone on their toes.
There hasn’t really been time for a breather to stop and think about what we’ve done and where we’ve been. We did ALL of this work together. Contributors have poured thousands of hours of volunteer time or sponsored time. I’ve poured thousands of hours of my own time into Pods and worked nights, weekends, holidays, between jobs, and while on PTO.
We all helped to keep Pods alive for these 15 years of ups and downs in WordPress and yet Pods is still here. We have remained steadfast and unwavering in its commitment to help others do more with WordPress. That wouldn’t be possible without every one of our contributors helping with code, support, docs, and the donors who help make it all possible. There is no shortage of competitors which have commercial funding and ACF has made its way to being owned by WPEngine. And yet the Pods project is still free and active.
As I think about what has happened in the past 15 years of my life — it includes marriage, two children, first house, second house after we sold the first, illnesses, surgeries, freelance work, agency work, fully remote work, left agency work to build products, left product work to build platforms, and well… that whole pandemic thing. It’s been a really fun ride and I’m excited to see what we do next as a project.
I thought it would be interesting to gather a list of major events in Pods lifespan that includes major/noteable features. Check out what I’ve put together below.
October 8th, 2008
Matt Gibbs releases Pods and publishes as website at pods.uproot.us (which eventually became podscms.org)
Feature: Pods Pages
Feature: Public Forms
Changed: Internal Custom Post Types switched to totally separate Pods content into their own tables separate from a corresponding post.
January 27th, 2009
Feature: Menu Editor introduced to allow creating and managing navigational menus (removed later on as WP got it’s own menu editor)
February 10th, 2009
Feature: Role/capability manager
March 12th, 2009
Feature: Relationship traversal for find queries
April 25th, 2009
Feature: Packages
June 27th, 2009
Feature: Pods Shortcode
September 2nd, 2009
Feature: Relationship traversal for field values
July 28th, 2011
Feature: Revamped UI powered by Pods UI abstraction that uses WP interfaces and tables
September 13th, 2011
We raised $4,177 to help cover the development costs of the complete revamp of Pods. Funded on September 23rd, 2011.
September 21st, 2022
Complete Pods revamp that would bring support for Custom Post Types, Custom Taxonomies, and extending other WP objects
April 7th, 2013
Feature: Custom Settings Pages
March 24th, 2015
The new donation program for Pods was introduced.
December 4th, 2017
Feature: Flexible Relationships with List View format
October 18th, 2021
Feature: Field Groups, plus React powered admin screens, Pods Blocks, REST API endpoints, and WP-CLI commands
August 9th, 2022
Feature: Simple Repeatable Fields, plus file-based configurations support, and WPGraphQL support
September 13th, 2023
Feature: Conditional Logic for Fields
October 8th, 2023
So much to celebrate!
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./wp-admin/
link.Want to help keep Pods on track? None of Pods 3.0 would have been possible without the help from our Friends of Pods.
Be sure to test on Staging / Development / Local environments. This is a beta release and there is always potential that it could include bugs that may interrupt your Production environment.
pods_tribe_common_vendor_autoload
which will now let you remove conflicting libraries from loading so your own libraries can continue to be used when that occurs. If you want to resolve a conflict so it does not interfere with your own code you can remove a key from this array.Want to help keep Pods on track? None of Pods 3.0 would have been possible without the help from our Friends of Pods.
This update includes a great deal of additions, tweaks, and bug fixes that we’ve been working on over the past month.
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)window.PodsDFV.detectForm()
and window.PodsDFV.detectField()
helper methods to normalize everything going into the DFV API. (@sc0ttkclark)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)pods_is_demo()
will allow Pods to offer streamlined demos using the one-click WASM demo. (@sc0ttkclark)pods_clone_objects()
and pods_clone_object()
assist in cloning objects primarily used through callbacks. (@sc0ttkclark)pods_debug_log()
allows for logging exception messages that do not need to be shown on the screen. (@sc0ttkclark)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)Pods::has_rows()
method can be used instead of Pods::total()
to just check if there were any rows returned. (@sc0ttkclark)parent
(Taxonomies) and post_parent
(Post Types) as relationships like parent.name
or post_parent.post_title
. This also works for post_author
. (@sc0ttkclark)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)$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)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)pick_object
for display when it is set to “pod” but the real object is “post_type” or “taxonomy”. #7007 (@sc0ttkclark)false
values as null
properly to prevent JS TypeErrors. #6963 (@sc0ttkclark, @spiderneo)PodsAPI::get_table_info()
. #7007 (@sc0ttkclark){@user.ID}
when logged out instead of null
. #6979 (@jeiseman, @sc0ttkclark)PodsMeta::groups_get()
instead of static variable to allow flushing the groups cache. (@sc0ttkclark)Whatsit
object, prevent serialized Closures being cached through Pods Alternative Cache. (@sc0ttkclark)parent
(Taxonomies) and post_parent
(Post Types) so they return the ID as they used to in previous Pods versions. (@sc0ttkclark)post_thumbnail.ID
. #7005 (@sc0ttkclark)substr()
usage. #7014 (@sc0ttkclark).meta_value
should always join the meta table when using a table-based Pod that supports meta-based storage. #7009 (@sc0ttkclark)filter_by_date
usage of sprintf()
to prevent PHP warnings. #6980 (@sc0ttkclark)You can read the full change log for this release on the Development tab of our WordPress.org plugin page.
This update includes a security fix and other updates:
jquery-ui-sortable
for File fields (to be further refactored into React at a later point). (@sc0ttkclark)You can read the full change log for this release on the Development tab of our WordPress.org plugin page.
Notice: Our normal support will be operating at reduced capacity during the month of October 2022 due to time off for one of our team members. We appreciate your patience during that time as we may have slower than usual response times.
This update includes 6 features, 2 enhancements, 1 change, 1 tweak, and 21 bug fixes, here are a few of them:
{@_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){@_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)pods_data_field()
function allows you to get special data fields directly instead of requiring you to use a full Pods object. (@sc0ttkclark)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 )
wp pods-legacy
and wp pods-legacy-api
.You can read the full change log for this release on the Development tab of our WordPress.org plugin page.
Want to help keep Pods on track? None of Pods 2.9 would have been possible without the help from our Friends of Pods.
Want to help keep Pods on track? None of Pods 2.9 would have been possible without the help from our Friends of Pods.
Today we released the Pods Framework 2.8.9 Maintenance Update on WordPress.org.
This update includes 20 bug fixes and 4 enhancements, here are a few of them:
wp_podsrel
but will eventually include all other table-based Pods too. #5795 (@sc0ttkclark)&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)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)You can read the full change log for this release on the Development tab of our WordPress.org plugin page.
Side note: You may have noticed that blog posts aren’t happening for every single maintenance release. This is because I’ve been personally busy and I normally handle the release posts so if I don’t do it then it won’t appear here. I’m looking into how I can automate the posts to automatically publish from GitHub releases when I post them there, but for now it’ll just have to continue being manual.
Pods Framework now integrates directly with Paid Memberships Pro which is a versatile membership plugin that lets you restrict content through recurring subscription payments.
The Pods Integration Add On for Paid Memberships Pro allows you to extend Paid Memberships Pro in ways never before possible. Not only can you add groups of custom fields directly to your Checkout page, you can also add them to Member Profiles, Extend Orders with new fields, or Extend Membership Levels.
You can also use the new Pods Blocks in Pods 2.8 to display information from Members, Orders, and Membership Levels.
Extending and displaying objects in PMPro has never been easier. Thanks to the Pods Framework and the efforts of the new Product Manager for PMPro, Scott Kingsley Clark — this sends Pods into a whole new direction.
Get ready for more integrations in the coming year as a result of the advancements made here!
One of the things that’s very special about this integration is the new underlying API functionality that was built to allow short and concise integration with each PMPro object type.
Pods already has form(), the Pods Form block, and the Pods Form shortcode — but when it comes to embedding Pods fields directly into other pre-existing forms it has been an area of Pods that hasn’t received much abstraction… until now.
Using the following code, we can automatically render fields (on their own, within the existing <form>
on a PMPro page). For this, we can also specify which section we want to get groups of fields for. In the PMPro Pods Integration, it allows groups and fields to specify which section(s) they will appear on.
The integration is quick and requires very little code.
pods_form_render_fields( 'pmpro_membership_level', $level->id, [
'section_field' => 'pmpro_section',
'section' => 'after_billing_details_settings',
] );
pods_form_render_fields()
which Pod name we need to render fields for.0
(zero) if not editing.pmpro_section
and then the section value we want to limit by.pods_form_render_fields( 'your_pod_name', $item_id, [
'section_field' => 'your_section_field',
'section' => 'whatever_section_you_want',
] );
The full list of supported options for that third argument is useful because it can let you customize the rendered groups of fields to fit the needs of the form itself.
render
will let you choose how you want to output the groups of fields. Default is table
but you can also use table-separated
if you are rendering within an existing table, table-rows
to just render rows of the form (using a colspan for the separator), and finally div-rows
to output the groups of fields within normal <div>
tags.section_field
will let you limit by a specific section if you provide the section field to limitsection
will check the value of your section_field
only only render groups/fields that matchseparator
will let you choose to show a separator between groups of fields, even if they are tables. The options are before
, after
, and off
if you don’t want it to show.heading
can let you choose the heading tag used for the group titles. Default is h2
.separated_heading
will let you specify an additional heading to show directly after the groups of fields if needed, when using the render
option for table-separated
.This part is even easier, all we need to do is call the one-line function:
pods_form_save_submitted_fields( 'pmpro_membership_level', $level_id );
Just like the pods_form_render_fields()
example above, it needs to know which Pod name we want to save field values for, and which item ID we are saving them to. The item ID is important here because we do not want to create a new item.
pods_form_save_submitted_fields( 'your_pod_name', $item_id );
The full list of arguments supported is: pods_form_save_submitted_fields( $name, $object_id, $is_new_item = false, array $options = [] )
and you could pass in the section_field
/ section
options again here if you’d like. Setting $is_new_item
to true
would just inform the Pods actions that run that it was a new item being saved which can be helpful for certain integrations/customizations.
6+ years and 2.7k+ commits went into the incredibly vast features of the Pods 2.8 release that is now free for everyone to enjoy.
For a more comprehensive and complete list of features, enhancements, and backwards compatibility changes — Read the Complete Pods 2.8 Field Guide.
In the interest of transparency, the complete development costs for Pods 2.9 will be $6000 and all donations (monthly, annual, or one-time) will contribute towards the fundraising goal. As soon as we meet our goal, we can be in beta within days and release Pods 2.9 within a month after that.
UPDATE – November 19th, 2021 – We met our fundraising goal of $6000 thanks to the great people behind Gravity Forms. We are working hard on getting the features in Pods 2.9 completed and will post more updates on our Twitter / Slack when we have an update on progress.
Stretch Goal: WPGraphQL Integration – The new Pods WPGraphQL Integration add-on from Pods Pro by SKCDEV will be donated to the Pods project and incorporated directly into Pods 2.9 if we can cover all development costs (as described above) for Pods 2.9 before the end of 2021!
UPDATE – November 19th, 2021 – We met our stretch goal by exceeding our Pods 2.9 fundraising goal in November. This means the WPGraphQL integration will be making it’s way into Pods 2.9 in the coming weeks. Advanced functionality such as Advanced Content Type support will remain in the add-on for the foreseeable future as it continues to progress/improve.
Want to help keep Pods on track? None of Pods 2.8 would have been possible without the help from our Friends of Pods.
Pods 2.8 Release Candidate 2 is now out! The official release is just days away now, Pods 2.8 will be released on October 12th at noon (UTC-5). It’s time to get your final testing finished and report any bugs you find along the way.
Check out the official Pods 2.8 Field Guide for information about what’s new in Pods 2.8, how to test, and how to report any bugs you find.
Pods 2.8 Release Candidate 1 is out! We are extra excited because this means that we are just a couple of weeks away from final release. Now is the time to refresh your staging sites and load up Pods 2.8 RC 1 to do your pre-launch testing for your sites.
Check out the official Pods 2.8 Field Guide for information about what’s new in Pods 2.8, how to test, and how to report any bugs you find.
Today we released the Pods Framework 2.7.30 Maintenance Update on WordPress.org.
This update includes the following fix:
You can read the full change log for this release on the Development tab of our WordPress.org plugin page.
Today we released the Pods Framework 2.7.29 Maintenance Update on WordPress.org.
This update includes the following improvement and fix:
You can read the full change log for this release on the Development tab of our WordPress.org plugin page.
Today we released the Pods Framework 2.7.27 Maintenance Update on WordPress.org.
This update includes the following improvement and fix:
my_field.some_field
to output a specific field in your REST API options for each relationship field. (@sc0ttkclark)pods_image_for_post()
and pods_image_url_for_post()
functions have been added for certain page builders like Oxygen. (@sc0ttkclark)num_prefix
) for PodsUI
instances. (@sc0ttkclark)pagination_type
and pagination_location
options for PodsUI
instances to support more flexible pagination options. (@sc0ttkclark)search
and sort
field sets for PodsUI
instances to more easily specify which fields are searchable or sortable. (@sc0ttkclark)PodsUI
interfaces now resolves to the proper fields. (@sc0ttkclark)You can read the full change log for this release on the Development tab of our WordPress.org plugin page.
Today we released the Pods Framework 2.7.27 Maintenance Update on WordPress.org.
This update includes the following improvement and fix:
Pods::find()
. #5994 (@JoryHogeveen)filter_by_item
and filter_by_date
labels. #5959 (@JoryHogeveen)pagination_type
shortcode param. #5977 (@JoryHogeveen)pods_audio()
and pods_video()
. #5999 (@JoryHogeveen, @sc0ttkclark)?pods_debug_sql=1
on Pods Admin UI screens. (@sc0ttkclark)You can read the full change log for this release on the Development tab of our WordPress.org plugin page.
Pods::field()
/ magic tag options for various new special notations including: Pod information, Field information, Item list information, and more. This is a huge deal when you use [if] conditional template tags and lets you do even more without writing any PHP code than before.Pods::fields( 'my_related_field.some_other_field' )
which would retrieve info about “some_other_field” even if it is on another Pod.Pods::form()
improvement.delete_with_user
argument for custom post types.\Pods\Whatsit\Pod
and \Pods\Whatsit\Field
accordingly. This gives us flexibility to lazy load and pull things as-needed from the database instead of always pulling entire Pods and Fields configurations all at once. This also reduces how much we have to use/cache on each page further reducing overall memory usage on every page. It remains backward compatible in most array usage (see the ‘options’ note below).$pod['options']['option_name']
or $field['options']['option_name']
, just use $pod['option_name']
and $field['option_name']
to get/set your options. There’s some backward compatibility here but certain areas like PHP overloading can cause circumstances where you’ll get PHP errors. Full documentation of this will be made available on our new Dev Docs site that we’re working on, keep an eye out for that!Pods::form()
or “form_output_type” to the shortcode.Want to help keep Pods on track? None of Pods 2.8 would have been possible without the help from our Friends of Pods.
Today we released the Pods Framework 2.7.26 Maintenance Update on WordPress.org.
This update includes the following improvement and fix:
components/Templates/includes/element-pod_reference.php
file. #5914 (@JoryHogeveen)pods_shortcode_detect_from_current_post
allows you to override whether a shortcode should detect the post object outside of the loop (default is only when in_the_loop()
). This helps to fix problems that are part of the integration which the free Pods Beaver Themer Add-On uses. (@sc0ttkclark)You can read the full change log for this release on the Development tab of our WordPress.org plugin page.
I quietly worked on some cool new stuff in 2020. Something different, more specialized, and able to expand Pods even further for those who need it…
I’ve heard feedback from so many people — everyone wants to take Pods further for new solutions to even newer problems. Page Builder integrations, Form integrations, and even more content tools — it’s totally within the wheelhouse of Pods to do these things and do them well. However, these kinds of add-ons are much more specialized and don’t really belong in Pods core.
This is where Pods Pro by SKCDEV will come into play.
Pods is maintained and supported by the loving infrastructure of the Pods Foundation. That focus really must remain on Pods core itself, without which none of this is possible. That’s why SKC Development is going to run separate premium add-ons so as to not syphon funding away from the long term goals of Pods.
With this separation — the key is that Pods retains its roots of free community-focused efforts while Pods Pro by SKCDEV is financially independent from the free plugin. It’s a win-win, even if it’s a little new/confusing right now.
Friends of Pods is here to stay! It will continue to fundraise and take in donations so that the Pods project can grow and live a long and fruitful life. We wouldn’t be where we are with Pods without the support from this community. Our hope is that many new friends will take advantage of the discounted Pods Pro pricing as Pods Pro builds out specific features to meet their needs.
We didn’t hit our funding goal for Friends of Pods in 2020 (200 recurring donors) but that is totally understandable given the vast impacts of COVID-19. My work through Pods Pro by SKCDEV is also intended to help bring in additional funding (through a discount) to the Friends of Pods program in an effective way that donations alone haven’t provided.
Pods Pro by SKCDEV will be available at a discount if you become an Active Friend of Pods. That’s right! Because there’s a way to support Pods and get the new specialized add-ons from Pods Pro at the same time, you won’t have to pick one or the other.
Just become an Active Friend of Pods ($60+ yearly) and claim the reward on the Friends site. It will send you to a special Pods Pro URL with Friends-exclusive discounted pricing. Full details on the Pods Pro by SKCDEV pricing page.
Through my work on Pods Pro by SKCDEV, I’ll be able to offer more features through add-ons, create custom/unique add-ons for people, and offer new premium support options. I’ve got big plans for Pods Pro by SKCDEV, stay tuned over there throughout 2021!
There’s a lot more detail on the Pods Pro by SKCDEV pricing page, check out the FAQ section below the pricing for everything you’re looking for.
Pods Pro by SKCDEV isn’t the only option when you’re looking to do more with Pods. There are free/premium add-ons out there that extend Pods or offer Pods-specific functionality within third-party products themselves.
Pods 2.8 and the subsequent Pods 2.9 / 3.0 releases will continue as planned. There’s really no change in direction for Pods itself, certain features and expansions still belong in Pods as we continue pushing forward with development.
There’s been some confusion about Pods vs. Pods Pro by SKCDEV and I wanted to make sure it was easy to understand how everything works in the new structure.
Pods Pro by SKCDEV is running as a separate entity through SKC Development
If you have any other questions or confusion here, don’t hesitate to reach out on our Slack.
Work is ongoing as we QA all of the Pods 2.8 features to ensure it’s ready for public beta by everyone. Thanks for your patience as we complete this work after we spent December working through some challenges brought by the release of WordPress 5.6.
There’s a new playlist on YouTube with excerpts from the Page Builder Summit presentation on Pods and various page builders. Check them out, there’s some great tips and a full review of integration with Pods across many different page builders.
Today we released the Pods Framework 2.7.25 Maintenance Update on WordPress.org.
This update includes the following improvements and fixes:
You can read the full change log for this release on the Development tab of our WordPress.org plugin page.
Today we released the Pods Framework 2.7.24 Maintenance Update on WordPress.org.
This update includes the following fixes:
[each]
loop if no media
Pod exists.pathinfo
to properly validate file extension.You can read the full change log for this release on the Development tab of our WordPress.org plugin page.
On October 30th, we released the Pods Framework 2.7.23 Maintenance Update on WordPress.org.
This update includes the following updates and enhancements:
session_status()
function.pods()
.ui/admin/setup-edit-field.php
.You can read the full change log for this release on the Development tab of our WordPress.org plugin page.
Today we released the Pods Framework 2.7.22 Maintenance Update on WordPress.org.
This update includes the following fixes:
You can read the full change log for this release on the Development tab of our WordPress.org plugin page.
This week, we released the Pods Framework 2.7.21 Maintenance Update onto the WordPress.org Plugin Repository. This update includes the following fixes and updates:
get_query_var()
in pods_v()
Pods::field()
methodYou can read the full change log for this release on the Development tab of the WordPress.org Repository
We have made even more progress over the past couple of months since our call for support at the start of the year and our last progress update in March. Despite everything going on in the world, people still had room in their hearts and in their budgets to become a Friend of Pods. We are incredibly grateful that we’ve increased our recurring (monthly/yearly) friends count to the current 108/200 donors which is almost double the amount since our last update in March. As you can see by the projection chart below, if we continue the best-case trend, especially after we release Pods 2.8 we should hit our 200 donor goal by the end of 2020!
How does all of this bode for Pods itself? We now have enough in our monthly budget to keep maintenance releases flowing but that still means things like Pods 2.8 itself are taking longer than we had planned due to limited resources. We continue to do our best to offer as much support as we can in our Slack and WordPress.org plugin forums. We’re doing what we can and our community has been pitching in where they can which has continued to be helpful! Another big shout out to Jim True who is the backbone of our Community Support and has continually donated so much of his own time outside his full-time job commitments. By the way, if you aren’t already there — be sure to join us on Slack — Find out more about our Live Slack chat >>
We have some more add-ons in the works so keep an eye out as we get our first official batch of add-ons out to our friends in the coming month or so.
Progress on Pods 2.8 itself has continued forward and we’re at about 90% of the way there. We will continue this month to get to a point where we can offer an Alpha or Beta release for curious people to check out. Stay tuned for more details as the month progresses — as always our Live Slack is the best place to get up-to-the-minute updates from our team as things happen. Our Friends of Pods even have their own channel where they get even more updates, among other chat perks.
We are enthusiastic about the features in Pods 2.8 so far, including the brand new Pods Blocks that will ship within Pods itself for free. This feature will let you build new blocks through code and get access to some of our starter blocks that operate how our shortcodes work but with better interfaces. We also have a new REST API powered by some of the underlying code from The Events Calendar by Modern Tribe that can manage configurations for Pods, Groups, and Fields. This REST API is also directly translated into an easy to use WP-CLI interface with minimal code so that our future REST API work will automatically become available as WP-CLI commands. There’s a ton of really cool stuff we’ve worked on for Pods 2.8 and we’re excited to get it in your hands.
We have just released the Pods Framework 2.7.17 Maintenance Update onto the WordPress.org Plugin Repository. This update includes the following fixes and updates:
You can read the full change log for this release on the Development tab of the WordPress.org Repository
We also just released a few fixes for our Pods Gravity Forms plugin that include:
We have made progress over the past couple of months since our call for support at the start of the year. Of course, things don’t always go as planned and there are understandably plenty more things going on in the world to worry about for folks. We haven’t met our goal of 200 recurring donors for the year yet, but we’re now at 67/200 recurring donors which is almost double the amount we started with this year.
We have integrated a new Friends of Pods callout in the admin area of the Pods plugin itself to help bring attention to it as many people may be unaware that we are seeking donations and sponsorships. That should give us some additional traction over the next few months and we’ll post another update as soon as we hit another milestone. Become a Friend to help us reach our goal of continuing to grow Pods features >>
We have also built the first new Friends exclusive add-on. This add-on and others will be made available to our Friends based on their membership level or total donations over time. More on this when we release this first add-on officially!
How does all of this bode for Pods itself? We have enough in our monthly budget to keep at a reduced dev capacity but that means things like Pods 2.8 itself is taking longer than we had planned due to limited resources. We also have had to scale back on how much support we are able to offer in our Slack and WordPress.org plugin forums. We’re doing what we can and our community has been pitching in where they can which has been so helpful! Big shout out to Jim True who is the backbone of our Community Support and has donated so much of his own time outside his full-time job commitments that we’re still having people mistake our Slack support for Premium Support! Be sure to join us on Slack — Find out more about our Live Slack chat >>
Progress on Pods 2.8 itself has continued forward, but we’ve hit some snags in the React admin interfaces we’ve been building that have caused considerable delays with development there.
The good news is that we now have a new REST API powered by some of the underlying code from The Events Calendar by Modern Tribe that can manage configurations for Pods, Groups, and Fields. This REST API is also directly translated into an easy to use WP-CLI interface with minimal code so that our future REST API work will automatically become available as WP-CLI commands. There’s a ton of really cool stuff we’ve worked on for Pods 2.8 and we’re excited to get it in your hands.