The gform_embed_post_types Gravity Forms PHP filter allows users to modify the post types presented in the Embed Form flyout.
Usage
To use this filter for all forms:
add_filter('gform_embed_post_types', 'your_function_name');
Parameters
- $types (array): An associative array of post types.
More information
See Gravity Forms Docs: gform_embed_post_types This filter was added in Gravity Forms v2.6.
Examples
Add the post type ‘book’
This example adds the post type with slug book
to the Embed Form flyout.
add_filter('gform_embed_post_types', function($types) { $types[] = array('slug' => 'book', 'label' => 'Book'); return $types; });
Remove the post type ‘post’
This example removes the standard post
post type from the Embed Form flyout.
add_filter('gform_embed_post_types', function($types) { $types = array_filter($types, function($type) { return $type['slug'] != 'post'; }); return $types; });
Add multiple custom post types
This example adds two custom post types, product
and testimonial
, to the Embed Form flyout.
add_filter('gform_embed_post_types', function($types) { $types[] = array('slug' => 'product', 'label' => 'Product'); $types[] = array('slug' => 'testimonial', 'label' => 'Testimonial'); return $types; });
Remove all post types except ‘page’
This example removes all post types from the Embed Form flyout except the page
post type.
add_filter('gform_embed_post_types', function($types) { $types = array_filter($types, function($type) { return $type['slug'] == 'page'; }); return $types; });
Add a custom label for a post type
This example adds a custom label for the post
post type in the Embed Form flyout.
add_filter('gform_embed_post_types', function($types) { foreach ($types as &$type) { if ($type['slug'] == 'post') { $type['label'] = 'Blog Post'; } } return $types; });