Exemplo n.º 1
0
 /**
  * Associate a field definition with this group.
  * 
  * @param WPCF_Field_Definition $field_definition
  * @return bool True on success, false otherwise.
  * @since 2.0
  */
 public function add_field_definition($field_definition)
 {
     $field_slugs = $this->get_field_slugs();
     $slug_to_add = $field_definition->get_slug();
     if (!in_array($slug_to_add, $field_slugs)) {
         $field_slugs[] = $slug_to_add;
         $is_success = $this->set_field_slugs($field_slugs);
     } else {
         $is_success = true;
     }
     return $is_success;
 }
 /**
  * Update existing field definition.
  *
  * @param WPCF_Field_Definition $field_definition
  * @throws InvalidArgumentException
  * @return bool True when the update was successful, false otherwise.
  * @since 2.0
  */
 public function update_definition($field_definition)
 {
     if (!$field_definition instanceof WPCF_Field_Definition) {
         throw new InvalidArgumentException('Not a Types field definition.');
     }
     $fields_from_options = $this->get_fields_from_options();
     if (!array_key_exists($field_definition->get_slug(), $fields_from_options)) {
         return false;
     }
     $this->set_field_definition($field_definition->get_slug(), $field_definition->get_definition_array());
     return true;
 }
Exemplo n.º 3
0
 /**
  * Remove field definition from this group.
  *
  * @param WPCF_Field_Definition $field_definition
  * @return bool
  */
 public function remove_field_definition($field_definition)
 {
     $field_slugs = $this->get_field_slugs();
     $slug_to_remove = $field_definition->get_slug();
     $key = array_search($slug_to_remove, $field_slugs);
     if ($key !== false) {
         unset($field_slugs[$key]);
     }
     $is_success = $this->set_field_slugs($field_slugs);
     return $is_success;
 }