Esempio n. 1
0
 /**
  * Index a field based on the stored value(s).
  *
  * @since 1.0.0
  *
  * @param CMB2_Field $field    Field object.
  * @param array      $defaults Array of default values.
  */
 public function index_field_values($field, $defaults)
 {
     $index = array();
     $values = (array) $field->escaped_value();
     foreach ($values as $value) {
         if (empty($value)) {
             continue;
         }
         $index[] = array('facet_value' => $value, 'facet_display_value' => $field->args('name'));
     }
     $this->index_multiple($index, $defaults);
 }
Esempio n. 2
0
 /**
  * Peforms saving of `file` attachement's ID
  * @since  1.1.0
  */
 public function _save_file_id()
 {
     $group = $this->field->group;
     $args = $this->field->args();
     $args['id'] = $args['_id'] . '_id';
     unset($args['_id'], $args['_name']);
     // And get new field object
     $field = new CMB2_Field(array('field_args' => $args, 'group_field' => $group, 'object_id' => $this->field->object_id, 'object_type' => $this->field->object_type));
     $id_key = $field->_id();
     $id_val_old = $field->escaped_value('absint');
     if ($group) {
         // Check group $_POST data
         $i = $group->index;
         $base_id = $group->_id();
         $id_val = isset($_POST[$base_id][$i][$id_key]) ? absint($_POST[$base_id][$i][$id_key]) : 0;
     } else {
         // Check standard $_POST data
         $id_val = isset($_POST[$field->id()]) ? $_POST[$field->id()] : null;
     }
     // If there is no ID saved yet, try to get it from the url
     if ($this->value && !$id_val) {
         $id_val = cmb2_utils()->image_id_from_url($this->value);
     }
     if ($group) {
         return array('attach_id' => $id_val, 'field_id' => $id_key);
     }
     if ($id_val && $id_val != $id_val_old) {
         return $field->update_data($id_val);
     } elseif (empty($id_val) && $id_val_old) {
         return $field->remove_data($id_val_old);
     }
 }
Esempio n. 3
0
/**
 * Manually render a field column display.
 *
 * @param  array      $field_args Array of field arguments.
 * @param  CMB2_Field $field      The field object
 */
function yourprefix_display_text_small_column($field_args, $field)
{
    ?>
	<div class="custom-column-display <?php 
    echo $field->row_classes();
    ?>
">
		<p><?php 
    echo $field->escaped_value();
    ?>
</p>
		<p class="description"><?php 
    echo $field->args('description');
    ?>
</p>
	</div>
	<?php 
}