Skip to content

Instantly share code, notes, and snippets.

@travislopes
Created March 9, 2016 03:38
Show Gist options
  • Save travislopes/541227a30675c6377f21 to your computer and use it in GitHub Desktop.
Save travislopes/541227a30675c6377f21 to your computer and use it in GitHub Desktop.
<?php
/**
* Gets Gravity Forms via form title.
*
* @access public
* @param string $title (default: null) - Form title to search for
* @param bool $return_form (default: false) - Return form object or form ID
* @return array - Array of form IDs or form objects (based on $return_form value)
*/
function get_gform_by_title( $title = null, $return_form = false ) {
global $wpdb;
// If GFForms isn't initialized, return array.
if ( ! class_exists( 'GFFormsModel' ) || ! class_exists( 'GFAPI' ) ) {
return array();
}
// Get forms table name.
$forms_table = GFFormsModel::get_form_table_name();
// Get form IDs.
$title = sanitize_text_field( $title );
$form_ids = $wpdb->get_col( "SELECT id FROM {$forms_table} WHERE `title` LIKE '%{$title}%';" );
// If we're not retuning form objects, return the form IDs.
if ( ! $return_form ) {
return $form_ids;
}
// Prepare array to store forms.
$forms = array();
// Get forms.
if ( ! empty( $form_ids ) ) {
foreach( $form_ids as $form_id ) {
$forms[] = GFAPI::get_form( $form_id );
}
}
// Return forms.
return $forms;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment