CMB2::prop PHP Метод

prop() публичный Метод

Get metabox property and optionally set a fallback
С версии: 2.0.0
public prop ( string $property, mixed $fallback = null ) : mixed
$property string Metabox config property to retrieve
$fallback mixed Fallback value to set if no value found
Результат mixed Metabox config property value or false
    public function prop($property, $fallback = null)
    {
        if (array_key_exists($property, $this->meta_box)) {
            return $this->meta_box[$property];
        } elseif ($fallback) {
            return $this->meta_box[$property] = $fallback;
        }
    }

Usage Example

/**
 * Filters the data to remove those values which are not suppose to be enabled to edit according to the declared conditionals.
 */
function cmb2_conditional_filter_data_to_save(CMB2 $cmb2, $object_id)
{
    foreach ($cmb2->prop('fields') as $field_args) {
        if (!(array_key_exists('attributes', $field_args) && array_key_exists('data-conditional-id', $field_args['attributes']))) {
            continue;
        }
        $field_id = $field_args['id'];
        $conditional_id = $field_args['attributes']['data-conditional-id'];
        if (array_key_exists('data-conditional-value', $field_args['attributes'])) {
            $conditional_value = $field_args['attributes']['data-conditional-value'];
            $conditional_value = ($decoded_conditional_value = @json_decode($conditional_value)) ? $decoded_conditional_value : $conditional_value;
            if (is_array($conditional_value) && !in_array($cmb2->data_to_save[$conditional_id], $conditional_value)) {
                unset($cmb2->data_to_save[$field_id]);
                continue;
            }
            if (!is_array($conditional_value) && $cmb2->data_to_save[$conditional_id] != $conditional_value) {
                unset($cmb2->data_to_save[$field_id]);
                continue;
            }
        }
        if (!$cmb2->data_to_save[$conditional_id]) {
            unset($cmb2->data_to_save[$field_id]);
            continue;
        }
    }
}
All Usage Examples Of CMB2::prop