/** * HTML dropdown list of post types * * @since deTube 1.2.6 */ function dp_dropdown_post_types($args = '') { $defaults = array('name' => '', 'selected' => '', 'echo' => true); $args = wp_parse_args($args, $defaults); extract($args); $post_types = get_post_types(array('public' => true), 'objects'); unset($post_types['page']); unset($post_types['attachment']); if (count($post_types) < 2) { return; } $post_type_options = array('all' => __('All', 'dp')); foreach ($post_types as $type_name => $type_object) { $post_type_options[$type_name] = $type_object->labels->singular_name; } $dropdown = dp_form_field(array('echo' => 0, 'type' => 'select', 'options' => $post_type_options, 'name' => $name, 'value' => $selected)); if ($echo) { echo $dropdown; } else { return $dropdown; } }
function dp_form_row($args = '') { $defaults = array('before_row' => '<tr>', 'before_title' => '<th scope="row">', 'title' => '', 'after_title' => '</th><td>', 'after_row' => '</td></tr>', 'label_for' => '', 'id' => '', 'tip' => '', 'req' => '', 'desc' => '', 'prepend' => '', 'append' => '', 'field' => ''); $args = wp_parse_args($args, $defaults); extract($args); if (empty($id) && !empty($name)) { $id = $args['id'] = sanitize_field_id($name); } if (empty($label_for) && !empty($id)) { $label_for = ' for="' . $id . '"'; } echo $before_row; /* Title */ if ($args['type'] != 'checkbox' || $args['type'] == 'checkboxes') { $title = '<label' . $label_for . '>' . $args['title'] . '</label> '; } /* Tip */ if ($tip) { $tip = ' <span class="tip">(?)</span><div style="display:none;">' . $tip . '</div>'; } /* Required */ $req = ''; if ($args['req'] === true || $args['req'] === 1) { $req = '*'; } elseif (isset($args['req'])) { $req = $args['req']; } if (!empty($req)) { $req = ' <span class="required">' . $req . '</span>'; } /* Output */ echo $before_title . $title . $req . $tip . $after_title . ' '; if (!empty($args['prepend'])) { echo $args['prepend'] . ' '; } if (empty($args['field'])) { dp_form_field($args); } if ($args['type'] == 'custom' && !empty($args['custom'])) { echo $args['custom']; } if (!empty($args['append'])) { echo ' ' . $args['append'] . ' '; } if (!empty($desc)) { echo ' <div class="description">' . $desc . '</div>'; } echo $after_row; }