/** * Constructor function for class Yonk_Table * * @param array|string $name * @param $title */ function __construct($name, $title) { $this->name = $name; $this->title = $title; parent::__construct(array('singular' => $title, 'plural' => Yonk_Util::pluralize(2, $title), 'ajax' => true)); add_action('admin_head', array(&$this, 'admin_headers')); }
/** * Render metafield * * @param $type * @param null $vars */ public static function field_render($type, $vars = NULL) { return Yonk_Util::renderPhpToString(YONK_PATH . 'meta/' . $type . '.php', $vars); }
/** * Create Labels array * * @return array */ private function labels($name) { $plurals = Yonk_Util::pluralize(2, $name); $labels = array('name' => sprintf(__('%s', $this->textDomain), $plurals), 'singular_name' => sprintf(__('%s', $this->textDomain), $name), 'menu_name' => sprintf(__('%s', $this->textDomain), $plurals), 'all_items' => sprintf(__('All %s', $this->textDomain), $plurals), 'new_item_name' => sprintf(__('Add %s', $this->textDomain), $name), 'add_new_item' => sprintf(__('Add New %s', $this->textDomain), $name), 'new_item' => sprintf(__('New %s', $this->textDomain), $name), 'edit_item' => sprintf(__('Edit %s', $this->textDomain), $name), 'update_item' => sprintf(__('Update %s', $this->textDomain), $name), 'view_item' => sprintf(__('View %s', $this->textDomain), $name), 'search_items' => sprintf(__('Search %s', $this->textDomain), $name), 'not_found' => sprintf(__('Not %s found', $this->textDomain), $name), 'parent_item' => sprintf(__('Parent %s', $this->textDomain), $name), 'parent_item_colon' => sprintf(__('Parent %s:', $this->textDomain), $name), 'separate_items_with_commas' => sprintf(__('Separate %s with commas', $this->textDomain), $plurals), 'add_or_remove_items' => sprintf(__('Add or remove %s', $this->textDomain), $plurals), 'popular_items' => sprintf(__('Popular %s', $this->textDomain), $plurals), 'search_items' => sprintf(__('Search %s', $this->textDomain), $plurals), 'no_terms' => sprintf(__('No %s', $this->textDomain), $plurals), 'items_list' => sprintf(__('%s list', $this->textDomain), $plurals), 'items_list_navigation' => sprintf(__('%s list navigation', $this->textDomain), $plurals)); return $labels; }
/** * Create Labels array * * @return array */ private function labels($name) { $plurals = Yonk_Util::pluralize(2, $name); $labels = array('name' => sprintf(__('%s', $this->textDomain), $plurals), 'singular_name' => sprintf(__('%s', $this->textDomain), $name), 'menu_name' => sprintf(__('%s', $this->textDomain), $plurals), 'name_admin_bar' => sprintf(__('%s', $this->textDomain), $name), 'archives' => sprintf(__('%s Archives', $this->textDomain), $name), 'parent_item_colon' => sprintf(__('Parent %s', $this->textDomain), $name), 'all_items' => sprintf(__('All %s', $this->textDomain), $plurals), 'add_new_item' => sprintf(__('Add New %s', $this->textDomain), $name), 'add_new' => sprintf(__('Add %s', $this->textDomain), $name), 'new_item' => sprintf(__('New %s', $this->textDomain), $name), 'edit_item' => sprintf(__('Edit %s', $this->textDomain), $name), 'update_item' => sprintf(__('Update %s', $this->textDomain), $name), 'view_item' => sprintf(__('View %s', $this->textDomain), $name), 'search_items' => sprintf(__('Search %s', $this->textDomain), $name), 'not_found' => sprintf(__('Not %s found', $this->textDomain), $name), 'not_found_in_trash' => sprintf(__('Not %s found in Trash', $this->textDomain), $name)); return $labels; }
/** * Get generated fields html and connect it to Post * * @param $post * @param $fields * @return string */ public function get_generated_fields($post, $fields) { if (!isset($post)) { global $post; } if (count($fields) == 0) { return; } $output = ''; foreach ($fields as $field) { $control_id = $this->generated_control_id($field); $value = get_post_meta($post->ID, $control_id, true); $params = array('name' => $control_id, 'label' => $field->label, 'options' => $field->choices, 'attributes' => $field->attributes, 'value' => $value == NULL ? $field->default : $value); $output .= Yonk_Util::field_render($field->type, $params); } return '<table class="form-table"><tbody>' . $output . '</tbody></table>'; }