Cuztom_Meta::callback PHP Méthode

callback() public méthode

Main callback for meta
Since: 0.2
Author: Gijs Jorissen
public callback ( $object, object $data = [] ) : mixed
$data object
Résultat mixed
    function callback($object, $data = array())
    {
        // Nonce field for validation
        wp_nonce_field('cuztom_meta', 'cuztom_nonce');
        // Get all inputs from $data
        $data = $this->data;
        $meta_type = $this->get_meta_type();
        if (!empty($data)) {
            echo '<input type="hidden" name="cuztom[__activate]" />';
            echo '<div class="cuztom" data-object-id="' . ($meta_type == 'post' ? get_the_ID() : $object->ID) . '" data-meta-type="' . $meta_type . '">';
            if (!empty($this->description)) {
                echo '<p class="cuztom-box-description">' . $this->description . '</p>';
            }
            if ($data instanceof Cuztom_Tabs || $data instanceof Cuztom_Accordion || $data instanceof Cuztom_Bundle) {
                $data->output($object);
            } else {
                echo '<table border="0" cellading="0" cellspacing="0" class="form-table cuztom-table">';
                /* Loop through $data */
                foreach ($data as $id_name => $field) {
                    $value = $this->is_meta_type('user') ? get_user_meta($object->ID, $id_name, true) : get_post_meta($object->ID, $id_name, true);
                    if (!$field instanceof Cuztom_Field_Hidden) {
                        echo '<tr>';
                        echo '<th class="cuztom-th">';
                        echo '<label for="' . $id_name . '" class="cuztom_label">' . $field->label . '</label>';
                        echo $field->required ? ' <span class="cuztom-required">*</span>' : '';
                        echo '<div class="cuztom-description description">' . $field->description . '</div>';
                        echo '</th>';
                        echo '<td class="cuztom-td">';
                        if ($field->repeatable && $field->_supports_repeatable) {
                            echo '<a class="button-secondary cuztom-button js-cuztom-add-field js-cuztom-add-sortable" href="#">';
                            echo sprintf('+ %s', __('Add', 'cuztom'));
                            echo '</a>';
                            echo '<ul class="js-cuztom-sortable cuztom-sortable cuztom_repeatable_wrap">';
                            echo $field->output($value, $object);
                            echo '</ul>';
                        } else {
                            echo $field->output($value, $object);
                        }
                        echo '</td>';
                        echo '</tr>';
                    } else {
                        echo $field->output($value, $object);
                    }
                }
                echo '</table>';
            }
            echo '</div>';
        }
    }

Usage Example

 /**
  * Callback for user meta, adds a title
  * 
  * @param  	int     			$user [description]
  * @param  	array    	$data [description]
  *
  * @author  Gijs Jorissen
  * @since   1.5
  * 
  */
 function callback($user, $data = array())
 {
     echo '<h3>' . $this->title . '</h3>';
     parent::callback($user, $data);
 }