本文整理汇总了PHP中wpcf_admin_common_only_show函数的典型用法代码示例。如果您正苦于以下问题:PHP wpcf_admin_common_only_show函数的具体用法?PHP wpcf_admin_common_only_show怎么用?PHP wpcf_admin_common_only_show使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了wpcf_admin_common_only_show函数的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: form
/**
* Summary.
*
* Description.
*
* @since x.x.x
* @access (for functions: only use if private)
*
* @see Function/method/class relied on
* @link URL
* @global type $varname Description.
* @global type $varname Description.
*
* @param type $var Description.
* @param type $var Optional. Description.
* @return type Description.
*/
public function form()
{
$this->save();
global $wpcf;
$id = false;
$update = false;
$taxonomies = array();
if (isset($_GET[$this->get_id])) {
$id = sanitize_text_field($_GET[$this->get_id]);
} elseif (isset($_POST[$this->get_id])) {
$id = sanitize_text_field($_POST[$this->get_id]);
}
if ($id) {
$taxonomies = $this->taxonomies->get();
if (isset($taxonomies[$id])) {
$this->ct = $taxonomies[$id];
$update = true;
} else {
wpcf_admin_message(__('Wrong Taxonomy specified.', 'wpcf'), 'error');
return false;
}
} else {
$this->ct = wpcf_custom_taxonomies_default();
}
$current_user_can_edit = WPCF_Roles::user_can_edit('custom-taxonomy', $this->ct);
/**
* sanitize _builtin
*/
if (!isset($this->ct['_builtin'])) {
$this->ct['_builtin'] = false;
}
$form = $this->prepare_screen();
if ($current_user_can_edit && $update) {
$form['id'] = array('#type' => 'hidden', '#value' => $id, '#name' => 'ct[wpcf-tax]');
}
/**
* post icon field
*/
$menu_icon = isset($this->ct['icon']) && !empty($this->ct['icon']) ? $this->ct['icon'] : 'admin-post';
$form['icon'] = array('#type' => 'hidden', '#name' => 'ct[icon]', '#value' => $menu_icon, '#id' => 'wpcf-types-icon');
$form['form-open'] = array('#type' => 'markup', '#markup' => sprintf('<div id="post-body-content" class="%s">', $current_user_can_edit ? '' : 'wpcf-types-read-only'), '_builtin' => true);
$form['table-1-open'] = array('#type' => 'markup', '#markup' => '<table id="wpcf-types-form-name-table" class="wpcf-types-form-table widefat js-wpcf-slugize-container"><thead><tr><th colspan="2">' . __('Taxonomy name and description', 'wpcf') . '</th></tr></thead><tbody>');
$table_row = '<tr><td><LABEL></td><td><ERROR><BEFORE><ELEMENT><AFTER></td></tr>';
$form['name'] = array('#type' => 'textfield', '#name' => 'ct[labels][name]', '#title' => __('Taxonomy name plural', 'wpcf') . ' (<strong>' . __('required', 'wpcf') . '</strong>)', '#description' => '<strong>' . __('Enter in plural!', 'wpcf') . '.', '#value' => isset($this->ct['labels']['name']) ? wp_kses_post($this->ct['labels']['name']) : '', '#validate' => array('required' => array('value' => true), 'maxlength' => array('value' => 30)), '#pattern' => $table_row, '#inline' => true, '#attributes' => array('placeholder' => __('Enter Taxonomy name plural', 'wpcf'), 'class' => 'widefat'));
$form['name-singular'] = array('#type' => 'textfield', '#name' => 'ct[labels][singular_name]', '#title' => __('Taxonomy name singular', 'wpcf') . ' (<strong>' . __('required', 'wpcf') . '</strong>)', '#description' => '<strong>' . __('Enter in singular!', 'wpcf') . '</strong><br />' . '.', '#value' => isset($this->ct['labels']['singular_name']) ? wp_kses_post($this->ct['labels']['singular_name']) : '', '#validate' => array('required' => array('value' => true), 'maxlength' => array('value' => 30)), '#pattern' => $table_row, '#inline' => true, '#attributes' => array('placeholder' => __('Enter Taxonomy name singular', 'wpcf'), 'class' => 'widefat js-wpcf-slugize-source'));
/*
*
* IF isset $_POST['slug'] it means form is not submitted
*/
$attributes = array();
if (!empty($_POST['ct']['slug'])) {
$reserved = wpcf_is_reserved_name(sanitize_text_field($_POST['ct']['slug']), 'taxonomy');
if (is_wp_error($reserved)) {
$attributes = array('class' => 'wpcf-form-error', 'onclick' => 'jQuery(this).removeClass(\'wpcf-form-error\');');
}
}
$form['slug'] = array('#type' => 'textfield', '#name' => 'ct[slug]', '#title' => __('Slug', 'wpcf') . ' (<strong>' . __('required', 'wpcf') . '</strong>)', '#description' => '<strong>' . __('Enter in singular!', 'wpcf') . '</strong><br />' . __('Machine readable name.', 'wpcf') . '<br />' . __('If not provided - will be created from singular name.', 'wpcf') . '<br />', '#value' => isset($this->ct['slug']) ? $this->ct['slug'] : '', '#pattern' => $table_row, '#inline' => true, '#validate' => array('required' => array('value' => true), 'nospecialchars' => array('value' => true), 'maxlength' => array('value' => 30)), '#attributes' => $attributes + array('maxlength' => '30', 'placeholder' => __('Enter Taxonomy slug', 'wpcf'), 'class' => 'widefat js-wpcf-slugize'));
$form['description'] = array('#type' => 'textarea', '#name' => 'ct[description]', '#title' => __('Description', 'wpcf'), '#value' => isset($this->ct['description']) ? $this->ct['description'] : '', '#attributes' => array('rows' => 4, 'cols' => 60, 'placeholder' => __('Enter Taxonomy description', 'wpcf'), 'class' => 'hidden js-wpcf-description'), '#pattern' => $table_row, '#inline' => true, '#after' => $this->ct['_builtin'] ? __('This is built-in WordPress Taxonomy.', 'wpcf') : sprintf('<a class="js-wpcf-toggle-description hidden" href="#">%s</a>', __('Add description', 'wpcf')));
$form['table-1-close'] = array('#type' => 'markup', '#markup' => '</tbody></table>');
$form['box-1-close'] = array('#type' => 'markup', '#markup' => '</div>', '_builtin' => true);
if ($this->ct['_builtin']) {
$form['name']['#attributes']['disabled'] = 'disabled';
$form['name-singular']['#attributes']['disabled'] = 'disabled';
$form['slug']['#attributes']['disabled'] = 'disabled';
$form['description']['#attributes']['disabled'] = 'disabled';
}
/**
* return form if current_user_can edit
*/
if ($current_user_can_edit) {
return $form;
}
return wpcf_admin_common_only_show($form);
}
示例2: form
//.........这里部分代码省略.........
}
/**
* fix taxonomies assigment for builitin post types
*/
if ($this->ct['_builtin']) {
$taxonomies = get_taxonomies('', 'objects');
foreach ($taxonomies as $slug => $tax) {
foreach ($tax->object_type as $post_slug) {
if ($this->ct['slug'] == $post_slug) {
$this->ct['taxonomies'][$slug] = 1;
}
}
}
}
$form = $this->prepare_screen();
if ($current_user_can_edit && $this->ct['update']) {
$form['id'] = array('#type' => 'hidden', '#value' => $id, '#name' => 'ct[wpcf-post-type]', '_builtin' => true);
/**
* update Taxonomy too
*/
$custom_taxonomies = get_option(WPCF_OPTION_NAME_CUSTOM_TAXONOMIES, array());
foreach ($custom_taxonomies as $slug => $data) {
if (!array_key_exists('supports', $data)) {
continue;
}
if (!array_key_exists($id, $data['supports'])) {
continue;
}
if (array_key_exists('taxonomies', $this->ct) && array_key_exists($slug, $this->ct['taxonomies'])) {
continue;
}
unset($custom_taxonomies[$slug]['supports'][$id]);
}
update_option(WPCF_OPTION_NAME_CUSTOM_TAXONOMIES, $custom_taxonomies);
}
/*
* menu icon
*/
switch ($this->ct['slug']) {
case 'page':
$menu_icon = 'admin-page';
break;
case 'attachment':
$menu_icon = 'admin-media';
break;
default:
$menu_icon = isset($this->ct['icon']) && !empty($this->ct['icon']) ? $this->ct['icon'] : 'admin-post';
break;
}
/**
* post icon field
*/
$form['icon'] = array('#type' => 'hidden', '#name' => 'ct[icon]', '#value' => $menu_icon, '#id' => 'wpcf-types-icon');
$form['form-open'] = array('#type' => 'markup', '#markup' => sprintf('<div id="post-body-content" class="%s">', $current_user_can_edit ? '' : 'wpcf-types-read-only'), '_builtin' => true);
$form['table-1-open'] = array('#type' => 'markup', '#markup' => '<table id="wpcf-types-form-name-table" class="wpcf-types-form-table widefat js-wpcf-slugize-container"><thead><tr><th colspan="2">' . __('Post Type name and description', 'wpcf') . '</th></tr></thead><tbody>', '_builtin' => true);
$table_row = '<tr><td><LABEL></td><td><ERROR><BEFORE><ELEMENT><AFTER></td></tr>';
$form['name'] = array('#type' => 'textfield', '#name' => 'ct[labels][name]', '#title' => __('Post Type name plural', 'wpcf') . ' (<strong>' . __('required', 'wpcf') . '</strong>)', '#description' => '<strong>' . __('Enter in plural!', 'wpcf') . '.', '#value' => isset($this->ct['labels']['name']) ? $this->ct['labels']['name'] : '', '#validate' => array('required' => array('value' => 'true')), '#pattern' => $table_row, '#inline' => true, '#id' => 'name-plural', '#attributes' => array('data-wpcf_warning_same_as_slug' => $wpcf->post_types->message('warning_singular_plural_match'), 'data-wpcf_warning_same_as_slug_ignore' => $wpcf->post_types->message('warning_singular_plural_match_ignore'), 'placeholder' => __('Enter Post Type name plural', 'wpcf'), 'class' => 'large-text'), '_builtin' => true);
$form['name-singular'] = array('#type' => 'textfield', '#name' => 'ct[labels][singular_name]', '#title' => __('Post Type name singular', 'wpcf') . ' (<strong>' . __('required', 'wpcf') . '</strong>)', '#description' => '<strong>' . __('Enter in singular!', 'wpcf') . '</strong><br />' . '.', '#value' => isset($this->ct['labels']['singular_name']) ? $this->ct['labels']['singular_name'] : '', '#validate' => array('required' => array('value' => 'true')), '#pattern' => $table_row, '#inline' => true, '#id' => 'name-singular', '#attributes' => array('placeholder' => __('Enter Post Type name singular', 'wpcf'), 'class' => 'js-wpcf-slugize-source large-text'), '_builtin' => true);
/**
* IF isset $_POST['slug'] it means form is not submitted
*/
$attributes = array();
if (!empty($_POST['ct']['slug'])) {
$reserved = wpcf_is_reserved_name(sanitize_text_field($_POST['ct']['slug']), 'post_type');
if (is_wp_error($reserved)) {
$attributes = array('class' => 'wpcf-form-error', 'onclick' => 'jQuery(this).removeClass(\'wpcf-form-error\');');
}
}
$form['slug'] = array('#type' => 'textfield', '#name' => 'ct[slug]', '#title' => __('Slug', 'wpcf') . ' (<strong>' . __('required', 'wpcf') . '</strong>)', '#value' => isset($this->ct['slug']) ? $this->ct['slug'] : '', '#pattern' => $table_row, '#inline' => true, '#validate' => array('required' => array('value' => 'true'), 'nospecialchars' => array('value' => 'true'), 'maxlength' => array('value' => '20')), '#attributes' => $attributes + array('maxlength' => '20', 'placeholder' => __('Enter Post Type slug', 'wpcf'), 'class' => 'js-wpcf-slugize large-text'), '#id' => 'slug', '_builtin' => true);
// disable for inbuilt
if ($this->ct['_builtin']) {
$form['slug']['#disable'] = 1;
$form['slug']['#pattern'] = '<tr><td><LABEL></td><td><ERROR><BEFORE><ELEMENT><DESCRIPTION><AFTER></td></tr>';
$form['slug']['#description'] = __('This option is not available for built-in post types.', 'wpcf');
}
$form['description'] = array('#type' => 'textarea', '#name' => 'ct[description]', '#title' => __('Description', 'wpcf'), '#value' => isset($this->ct['description']) ? $this->ct['description'] : '', '#attributes' => array('rows' => 4, 'cols' => 60, 'placeholder' => __('Enter Post Type description', 'wpcf'), 'class' => 'hidden js-wpcf-description'), '#pattern' => $table_row, '#inline' => true, '#after' => sprintf('<a class="js-wpcf-toggle-description hidden" href="#">%s</a>', __('Add description', 'wpcf')));
/**
* icons only for version 3.8 up
*/
global $wp_version;
if (version_compare('3.8', $wp_version) < 1) {
$form['choose-icon'] = array('#name' => 'choose-icon', '#type' => 'button', '#value' => esc_attr__('Change icon', 'wpcf'), '#inline' => true, '#title' => __('Icon', 'wpcf'), '#pattern' => '<tr><td><LABEL></td><td><ERROR><BEFORE><ELEMENT><DESCRIPTION><AFTER></td></tr>', '#attributes' => array('data-wpcf-nonce' => wp_create_nonce('post-type-dashicons-list'), 'data-wpcf-post-type' => esc_attr($this->ct['slug']), 'data-wpcf-message-loading' => esc_attr__('Please Wait, Loading…', 'wpcf'), 'data-wpcf-title' => esc_attr__('Choose icon', 'wpcf'), 'data-wpcf-cancel' => esc_attr__('Cancel', 'wpcf'), 'data-wpcf-value' => esc_attr($menu_icon), 'class' => 'js-wpcf-choose-icon'), '#before' => sprintf('<div class="wpcf-types-menu-image dashicons-before dashicons-%s"><br></div>', esc_attr($menu_icon)));
/**
* clear ability to change for builitin post types
*/
if ($this->ct['_builtin']) {
$form['choose-icon']['#disable'] = 1;
$form['choose-icon']['#description'] = __('This option is not available for built-in post types.', 'wpcf');
}
}
$form['table-1-close'] = array('#type' => 'markup', '#markup' => '</tbody></table>', '_builtin' => true);
$form['box-1-close'] = array('#type' => 'markup', '#markup' => '</div>', '_builtin' => true);
/**
* return form if current_user_can edit
*/
if ($current_user_can_edit) {
return $form;
}
return wpcf_admin_common_only_show($form);
}
示例3: wpcf_admin_usermeta_form
//.........这里部分代码省略.........
}
$temp = '';
if ($update) {
require_once WPCF_EMBEDDED_INC_ABSPATH . '/fields.php';
require_once WPCF_EMBEDDED_INC_ABSPATH . '/fields-post.php';
require_once WPCF_EMBEDDED_INC_ABSPATH . '/usermeta-post.php';
$user_id = wpcf_usermeta_get_user();
$preview_profile = wpcf_usermeta_preview_profile($user_id, $update, 1);
$group = $update;
$group['fields'] = wpcf_admin_usermeta_process_fields($user_id, $group['fields'], true, false);
$edit_profile = wpcf_admin_render_fields($group, $user_id, 1);
add_action('admin_enqueue_scripts', 'wpcf_admin_fields_form_fix_styles', PHP_INT_MAX);
}
$temp[] = array('#type' => 'radio', '#suffix' => '<br />', '#value' => 'edit_mode', '#title' => 'Edit mode', '#name' => 'wpcf[group][preview]', '#default_value' => '', '#before' => '<div class="wpcf-admin-css-preview-style-edit">', '#inline' => true, '#attributes' => array('onclick' => 'changePreviewHtml(\'editmode\')', 'checked' => 'checked'));
$temp[] = array('#type' => 'radio', '#title' => 'Read Only', '#name' => 'wpcf[group][preview]', '#default_value' => '', '#after' => '</div>', '#inline' => true, '#attributes' => array('onclick' => 'changePreviewHtml(\'readonly\')'));
$temp[] = array('#type' => 'textarea', '#name' => 'wpcf[group][admin_html_preview]', '#inline' => true, '#value' => '', '#id' => 'wpcf-form-groups-admin-html-preview', '#before' => '<h3>Field group HTML</h3>');
$temp[] = array('#type' => 'textarea', '#name' => 'wpcf[group][admin_styles]', '#inline' => true, '#value' => $admin_styles_value, '#default_value' => '', '#id' => 'wpcf-form-groups-css-fields-editor', '#after' => '
<div class="wpcf-update-preview-btn"><input type="button" value="Update preview" onclick="wpcfPreviewHtml()" style="float:right;" class="button-secondary"></div>
<h3>' . __('Field group preview', 'wpcf') . '</h3>
<div id="wpcf-update-preview-div">Preview here</div>
<script type="text/javascript">
var wpcfReadOnly = ' . json_encode(base64_encode($preview_profile)) . ';
var wpcfEditMode = ' . json_encode(base64_encode($edit_profile)) . ';
var wpcfDefaultCss = ' . json_encode(base64_encode($admin_styles_value)) . ';
</script>
', '#before' => sprintf('<h3>%s</h3>', __('Your CSS', 'wpcf')));
$admin_styles = _wpcf_filter_wrap('admin_styles', __('Admin styles for fields:', 'wpcf'), '', '', $temp, __('Open style editor', 'wpcf'));
$form['p_wrap_1_' . wpcf_unique_id(serialize($admin_styles))] = array('#type' => 'markup', '#markup' => '<p class="wpcf-filter-wrap">');
$form = $form + $admin_styles;
$form['adminstyles-table-close'] = array('#type' => 'markup', '#markup' => '</td></tr></tbody></table><br />');
}
/** End admin Styles **/
// Group fields
$form['fields_title'] = array('#type' => 'markup', '#markup' => '<h2>' . __('Fields', 'wpcf') . '</h2>');
$show_under_title = true;
$form['ajax-response-open'] = array('#type' => 'markup', '#markup' => '<div id="wpcf-fields-sortable" class="ui-sortable">');
// If it's update, display existing fields
$existing_fields = array();
if ($update && isset($update['fields'])) {
foreach ($update['fields'] as $slug => $field) {
$field['submitted_key'] = $slug;
$field['group_id'] = $update['id'];
$form_field = wpcf_fields_get_field_form_data($field['type'], $field);
if (is_array($form_field)) {
$form['draggable-open-' . rand()] = array('#type' => 'markup', '#markup' => '<div class="ui-draggable">');
$form = $form + $form_field;
$form['draggable-close-' . rand()] = array('#type' => 'markup', '#markup' => '</div>');
}
$existing_fields[] = $slug;
$show_under_title = false;
}
}
// Any new fields submitted but failed? (Don't double it)
if (!empty($_POST['wpcf']['fields'])) {
foreach ($_POST['wpcf']['fields'] as $key => $field) {
if (in_array($key, $existing_fields)) {
continue;
}
$field['submitted_key'] = $key;
$form_field = wpcf_fields_get_field_form_data($field['type'], $field);
if (is_array($form_field)) {
$form['draggable-open-' . rand()] = array('#type' => 'markup', '#markup' => '<div class="ui-draggable">');
$form = $form + $form_field;
$form['draggable-close-' . rand()] = array('#type' => 'markup', '#markup' => '</div>');
}
}
$show_under_title = false;
}
$form['ajax-response-close'] = array('#type' => 'markup', '#markup' => '</div>' . '<div id="wpcf-ajax-response"></div>');
if ($show_under_title) {
$form['fields_title']['#markup'] = $form['fields_title']['#markup'] . '<div id="wpcf-fields-under-title">' . __('There are no fields in this group. To add a field, click on the field buttons at the right.', 'wpcf') . '</div>';
}
// If update, create ID field
if ($update) {
$form['group_id'] = array('#type' => 'hidden', '#name' => 'group_id', '#value' => $update['id'], '#forced_value' => true);
}
$form['submit'] = array('#type' => 'submit', '#name' => 'save', '#value' => __('Save', 'wpcf'), '#attributes' => array('class' => 'button-primary wpcf-disabled-on-submit'));
// Close main div
$form['close-sidebar'] = array('#type' => 'markup', '#markup' => '</div>');
wpcf_admin_add_js_settings('wpcf_filters_association_or', '\'' . __('This group will appear on %pt% edit pages where content belongs to Taxonomy: %tx% or Content Template is: %vt%', 'wpcf') . '\'');
wpcf_admin_add_js_settings('wpcf_filters_association_and', '\'' . __('This group will appear on %pt% edit pages where content belongs to Taxonomy: %tx% and Content Template is: %vt%', 'wpcf') . '\'');
wpcf_admin_add_js_settings('wpcf_filters_association_all_pages', '\'' . __('all', 'wpcf') . '\'');
wpcf_admin_add_js_settings('wpcf_filters_association_all_taxonomies', '\'' . __('any', 'wpcf') . '\'');
wpcf_admin_add_js_settings('wpcf_filters_association_all_templates', '\'' . __('any', 'wpcf') . '\'');
// Add JS settings
wpcf_admin_add_js_settings('wpcfFormUniqueValuesCheckText', '\'' . __('Warning: same values selected', 'wpcf') . '\'');
wpcf_admin_add_js_settings('wpcfFormUniqueNamesCheckText', '\'' . __('Warning: field name already used', 'wpcf') . '\'');
wpcf_admin_add_js_settings('wpcfFormUniqueSlugsCheckText', '\'' . __('Warning: field slug already used', 'wpcf') . '\'');
/**
* close form div
*/
$form['form-close'] = array('#type' => 'markup', '#markup' => '</div>');
/**
* return form if current_user_can edit
*/
if ($current_user_can_edit) {
return $form;
}
return wpcf_admin_common_only_show($form);
}
示例4: form
/**
* Summary.
*
* Description.
*
* @since x.x.x
* @access (for functions: only use if private)
*
* @see Function/method/class relied on
* @link URL
* @global type $varname Description.
* @global type $varname Description.
*
* @param type $var Description.
* @param type $var Optional. Description.
* @return type Description.
*/
public function form()
{
$this->save();
global $wpcf;
$this->current_user_can_edit = WPCF_Roles::user_can_create('user-meta-field');
// If it's update, get data
$this->update = false;
if (isset($_REQUEST[$this->get_id])) {
$this->update = wpcf_admin_fields_get_group(intval($_REQUEST[$this->get_id]), TYPES_USER_META_FIELD_GROUP_CPT_NAME);
$this->current_user_can_edit = WPCF_Roles::user_can_edit('user-meta-field', $this->update);
if (empty($this->update)) {
$this->update = false;
wpcf_admin_message(sprintf(__("Group with ID %d do not exist", 'wpcf'), intval($_REQUEST[$this->get_id])));
} else {
$this->update['fields'] = wpcf_admin_fields_get_fields_by_group(sanitize_text_field($_REQUEST[$this->get_id]), 'slug', false, true, false, TYPES_USER_META_FIELD_GROUP_CPT_NAME, 'wpcf-usermeta');
$this->update['show_for'] = wpcf_admin_get_groups_showfor_by_group(sanitize_text_field($_REQUEST[$this->get_id]));
if (defined('TYPES_USE_STYLING_EDITOR') && TYPES_USE_STYLING_EDITOR) {
$this->update['admin_styles'] = wpcf_admin_get_groups_admin_styles_by_group(sanitize_text_field($_REQUEST[$this->get_id]));
}
}
}
/**
* sanitize id
*/
if (!isset($this->update['id'])) {
$this->update['id'] = 0;
}
/**
* setup meta type
*/
$this->update['meta_type'] = 'custom_fields_group';
/**
* copy update to ct
*/
$this->ct = $this->update;
$form = $this->prepare_screen();
$form['_wpnonce_wpcf'] = array('#type' => 'markup', '#markup' => wp_nonce_field('wpcf_form_fields', '_wpnonce_wpcf', true, false));
/**
* nonce depend on group id
*/
$form['_wpnonce_' . $this->post_type] = array('#type' => 'markup', '#markup' => wp_nonce_field($this->get_nonce_action($this->update['id']), 'wpcf_save_group_nonce', true, false));
$form['form-open'] = array('#type' => 'markup', '#markup' => sprintf('<div id="post-body-content" class="%s">', $this->current_user_can_edit ? '' : 'wpcf-types-read-only'));
$form[$this->get_id] = array('#type' => 'hidden', '#name' => 'wpcf[group][id]', '#value' => $this->update['id']);
$form['table-1-open'] = array('#type' => 'markup', '#markup' => '<table id="wpcf-types-form-name-table" class="wpcf-types-form-table widefat js-wpcf-slugize-container"><thead><tr><th colspan="2">' . __('Field Group name and description', 'wpcf') . '</th></tr></thead><tbody>');
$table_row = '<tr><td><LABEL></td><td><ERROR><BEFORE><ELEMENT><AFTER></td></tr>';
$form['title'] = array('#title' => sprintf('%s <b>(%s)</b>', __('Field Group name', 'wpcf'), __('required', 'wpcf')), '#type' => 'textfield', '#name' => 'wpcf[group][name]', '#id' => 'wpcf-group-name', '#value' => $this->update['id'] ? $this->update['name'] : '', '#inline' => true, '#attributes' => array('class' => 'large-text', 'placeholder' => __('Enter group title', 'wpcf')), '#validate' => array('required' => array('value' => true)), '#pattern' => $table_row);
$form['description'] = array('#title' => __('Description', 'wpcf'), '#type' => 'textarea', '#id' => 'wpcf-group-description', '#name' => 'wpcf[group][description]', '#value' => $this->update['id'] ? $this->update['description'] : '', '#attributes' => array('placeholder' => __('Enter a description for this group', 'wpcf'), 'class' => 'hidden js-wpcf-description'), '#pattern' => $table_row, '#after' => sprintf('<a class="js-wpcf-toggle-description hidden" href="#">%s</a>', __('Add description', 'wpcf')), '#inline' => true);
$form['table-1-close'] = array('#type' => 'markup', '#markup' => '</tbody></table>');
/**
* fields
*/
$form += $this->fields();
$form['form-close'] = array('#type' => 'markup', '#markup' => '</div>', '_builtin' => true);
/**
* setup common setting for forms
*/
$form = $this->common_form_setup($form);
/**
* return form if current_user_can edit
*/
if ($this->current_user_can_edit) {
return $form;
}
return wpcf_admin_common_only_show($form);
}
示例5: wpcf_admin_fields_form
//.........这里部分代码省略.........
}
}
// Process CSS
if (!empty($data['group_form_css'])) {
foreach ($data['group_form_css'] as $handle => $script) {
if (isset($script['src'])) {
$deps = !empty($script['deps']) ? $script['deps'] : array();
wp_enqueue_style($handle, $script['src'], $deps, WPCF_VERSION);
} else {
if (isset($script['inline'])) {
add_action('admin_head', $script['inline']);
}
}
}
}
}
// Get fields created by user
$fields = wpcf_admin_fields_get_fields(true, true);
if (!empty($fields)) {
$form['fields-existing'] = array('#type' => 'fieldset', '#title' => __('User created fields', 'wpcf'), '#id' => 'wpcf-form-groups-user-fields');
foreach ($fields as $key => $field) {
if (isset($update['fields']) && array_key_exists($key, $update['fields'])) {
continue;
}
if (!empty($field['data']['removed_from_history'])) {
continue;
}
$form['fields-existing'][$key] = array('#type' => 'markup', '#markup' => '<div id="wpcf-user-created-fields-wrapper-' . $field['id'] . '" style="float:left; margin-right: 10px;"><a href="' . admin_url('admin-ajax.php' . '?action=wpcf_ajax' . '&wpcf_action=fields_insert_existing' . '&page=wpcf-edit' . '&field=' . $field['id']) . '&_wpnonce=' . wp_create_nonce('fields_insert_existing') . '" ' . 'class="wpcf-fields-add-ajax-link button-secondary" onclick="jQuery(this).parent().fadeOut();" ' . ' data-slug="' . $field['id'] . '">' . htmlspecialchars(stripslashes($field['name'])) . '</a>' . '<a href="' . admin_url('admin-ajax.php' . '?action=wpcf_ajax' . '&wpcf_action=remove_from_history' . '&field_id=' . $field['id']) . '&_wpnonce=' . wp_create_nonce('remove_from_history') . '&wpcf_warning=' . sprintf(__('Are you sure that you want to remove field %s from history?', 'wpcf'), htmlspecialchars(stripslashes($field['name']))) . '&wpcf_ajax_update=wpcf-user-created-fields-wrapper-' . $field['id'] . '" title="' . sprintf(__('Remove field %s', 'wpcf'), htmlspecialchars(stripslashes($field['name']))) . '" class="wpcf-ajax-link"><img src="' . WPCF_RES_RELPATH . '/images/delete-2.png" style="postion:absolute;margin-top:5px;margin-left:-4px;" /></a></div>');
}
}
$form['close-sidebar'] = array('#type' => 'markup', '#markup' => '</div>');
}
// Group data
$form['open-main'] = array('#type' => 'markup', '#markup' => '<div id="wpcf-form-fields-main" class="wpcf-form-fields-main">');
/**
* Now starting form
*/
/** End admin Styles * */
// Group fields
$form['fields_title'] = array('#type' => 'markup', '#markup' => '<h2>' . __('Fields', 'wpcf') . '</h2>');
$show_under_title = true;
$form['ajax-response-open'] = array('#type' => 'markup', '#markup' => '<div id="wpcf-fields-sortable" class="ui-sortable">');
// If it's update, display existing fields
$existing_fields = array();
if ($update && isset($update['fields'])) {
foreach ($update['fields'] as $slug => $field) {
$field['submitted_key'] = $slug;
$field['group_id'] = $update['id'];
$form_field = wpcf_fields_get_field_form_data($field['type'], $field);
if (is_array($form_field)) {
$form['draggable-open-' . rand()] = array('#type' => 'markup', '#markup' => '<div class="ui-draggable">');
$form = $form + $form_field;
$form['draggable-close-' . rand()] = array('#type' => 'markup', '#markup' => '</div>');
}
$existing_fields[] = $slug;
$show_under_title = false;
}
}
// Any new fields submitted but failed? (Don't double it)
if (!empty($_POST['wpcf']['fields'])) {
foreach ($_POST['wpcf']['fields'] as $key => $field) {
if (in_array($key, $existing_fields)) {
continue;
}
$field['submitted_key'] = $key;
$form_field = wpcf_fields_get_field_form_data($field['type'], $field);
if (is_array($form_field)) {
$form['draggable-open-' . rand()] = array('#type' => 'markup', '#markup' => '<div class="ui-draggable">');
$form = $form + $form_field;
$form['draggable-close-' . rand()] = array('#type' => 'markup', '#markup' => '</div>');
}
}
$show_under_title = false;
}
$form['ajax-response-close'] = array('#type' => 'markup', '#markup' => '</div>' . '<div id="wpcf-ajax-response"></div>');
if ($show_under_title) {
$form['fields_title']['#markup'] = $form['fields_title']['#markup'] . '<div id="wpcf-fields-under-title">' . __('There are no fields in this group. To add a field, click on the field buttons at the right.', 'wpcf') . '</div>';
}
// If update, create ID field
if ($update) {
$form['group_id'] = array('#type' => 'hidden', '#name' => 'group_id', '#value' => $update['id'], '#forced_value' => true);
}
$form['submit'] = array('#type' => 'submit', '#name' => 'save', '#value' => __('Save', 'wpcf'), '#attributes' => array('class' => 'button-primary wpcf-disabled-on-submit'));
// Close main div
$form['close-sidebar'] = array('#type' => 'markup', '#markup' => '</div>');
$form = apply_filters('wpcf_form_fields', $form, $update);
// Add JS settings
wpcf_admin_add_js_settings('wpcfFormUniqueValuesCheckText', '\'' . __('Warning: same values selected', 'wpcf') . '\'');
wpcf_admin_add_js_settings('wpcfFormUniqueNamesCheckText', '\'' . __('Warning: field name already used', 'wpcf') . '\'');
wpcf_admin_add_js_settings('wpcfFormUniqueSlugsCheckText', '\'' . __('Warning: field slug already used', 'wpcf') . '\'');
wpcf_admin_add_js_settings('wpcfFormAlertOnlyPreview', sprintf("'%s'", __('Sorry, but this is only preview!', 'wpcf')));
$form['form-close'] = array('#type' => 'markup', '#markup' => '</div>');
/**
* return form if current_user_can edit
*/
if ($current_user_can_edit) {
return $form;
}
return wpcf_admin_common_only_show($form);
}
示例6: wpcf_admin_fields_form
//.........这里部分代码省略.........
$admin_styles_value = $update['admin_styles'];
}
$temp = '';
if ($update) {
require_once WPCF_EMBEDDED_INC_ABSPATH . '/fields.php';
require_once WPCF_EMBEDDED_INC_ABSPATH . '/usermeta.php';
require_once WPCF_EMBEDDED_INC_ABSPATH . '/fields-post.php';
require_once WPCF_EMBEDDED_INC_ABSPATH . '/usermeta-post.php';
//Get sample post
$post = query_posts('posts_per_page=1');
if (!empty($post) && count($post) != '') {
$post = $post[0];
}
$preview_profile = wpcf_admin_post_meta_box_preview($post, $update, 1);
$group = $update;
$group['fields'] = wpcf_admin_post_process_fields($post, $group['fields'], true, false);
$edit_profile = wpcf_admin_post_meta_box($post, $group, 1, true);
add_action('admin_enqueue_scripts', 'wpcf_admin_fields_form_fix_styles', PHP_INT_MAX);
}
$temp[] = array('#type' => 'radio', '#suffix' => '<br />', '#value' => 'edit_mode', '#title' => 'Edit mode', '#name' => 'wpcf[group][preview]', '#default_value' => '', '#before' => '<div class="wpcf-admin-css-preview-style-edit">', '#inline' => true, '#attributes' => array('onclick' => 'changePreviewHtml(\'editmode\')', 'checked' => 'checked'));
$temp[] = array('#type' => 'radio', '#title' => 'Read Only', '#name' => 'wpcf[group][preview]', '#default_value' => '', '#after' => '</div>', '#inline' => true, '#attributes' => array('onclick' => 'changePreviewHtml(\'readonly\')'));
$temp[] = array('#type' => 'textarea', '#name' => 'wpcf[group][admin_html_preview]', '#inline' => true, '#id' => 'wpcf-form-groups-admin-html-preview', '#before' => '<h3>Field group HTML</h3>');
$temp[] = array('#type' => 'textarea', '#name' => 'wpcf[group][admin_styles]', '#inline' => true, '#value' => $admin_styles_value, '#default_value' => '', '#id' => 'wpcf-form-groups-css-fields-editor', '#after' => '
<div class="wpcf-update-preview-btn"><input type="button" value="Update preview" onclick="wpcfPreviewHtml()" style="float:right;" class="button-secondary"></div>
<h3>' . __('Field group preview', 'wpcf') . '</h3>
<div id="wpcf-update-preview-div">Preview here</div>
<script type="text/javascript">
var wpcfReadOnly = ' . json_encode(base64_encode($preview_profile)) . ';
var wpcfEditMode = ' . json_encode(base64_encode($edit_profile)) . ';
var wpcfDefaultCss = ' . json_encode(base64_encode($admin_styles_value)) . ';
</script>
', '#before' => sprintf('<h3>%s</h3>', __('Your CSS', 'wpcf')));
$admin_styles = _wpcf_filter_wrap('admin_styles', __('Admin styles for fields:', 'wpcf'), '', '', $temp, __('Open style editor', 'wpcf'));
$form['p_wrap_1_' . wpcf_unique_id(serialize($admin_styles))] = array('#type' => 'markup', '#markup' => '<p class="wpcf-filter-wrap">');
$form = $form + $admin_styles;
$form['adminstyles-table-close'] = array('#type' => 'markup', '#markup' => '</td></tr></tbody></table><br />');
}
/** End admin Styles * */
// Group fields
$form['fields_title'] = array('#type' => 'markup', '#markup' => '<h2>' . __('Fields', 'wpcf') . '</h2>');
$show_under_title = true;
$form['ajax-response-open'] = array('#type' => 'markup', '#markup' => '<div id="wpcf-fields-sortable" class="ui-sortable">');
// If it's update, display existing fields
$existing_fields = array();
if ($update && isset($update['fields'])) {
foreach ($update['fields'] as $slug => $field) {
$field['submitted_key'] = $slug;
$field['group_id'] = $update['id'];
$form_field = wpcf_fields_get_field_form_data($field['type'], $field);
if (is_array($form_field)) {
$form['draggable-open-' . rand()] = array('#type' => 'markup', '#markup' => '<div class="ui-draggable">');
$form = $form + $form_field;
$form['draggable-close-' . rand()] = array('#type' => 'markup', '#markup' => '</div>');
}
$existing_fields[] = $slug;
$show_under_title = false;
}
}
// Any new fields submitted but failed? (Don't double it)
if (!empty($_POST['wpcf']['fields'])) {
foreach ($_POST['wpcf']['fields'] as $key => $field) {
if (in_array($key, $existing_fields)) {
continue;
}
$field['submitted_key'] = $key;
$form_field = wpcf_fields_get_field_form_data($field['type'], $field);
if (is_array($form_field)) {
$form['draggable-open-' . rand()] = array('#type' => 'markup', '#markup' => '<div class="ui-draggable">');
$form = $form + $form_field;
$form['draggable-close-' . rand()] = array('#type' => 'markup', '#markup' => '</div>');
}
}
$show_under_title = false;
}
$form['ajax-response-close'] = array('#type' => 'markup', '#markup' => '</div>' . '<div id="wpcf-ajax-response"></div>');
if ($show_under_title) {
$form['fields_title']['#markup'] = $form['fields_title']['#markup'] . '<div id="wpcf-fields-under-title">' . __('There are no fields in this group. To add a field, click on the field buttons at the right.', 'wpcf') . '</div>';
}
// If update, create ID field
if ($update) {
$form['group_id'] = array('#type' => 'hidden', '#name' => 'group_id', '#value' => $update['id'], '#forced_value' => true);
}
$form['submit'] = array('#type' => 'submit', '#name' => 'save', '#value' => __('Save', 'wpcf'), '#attributes' => array('class' => 'button-primary wpcf-disabled-on-submit'));
// Close main div
$form['close-sidebar'] = array('#type' => 'markup', '#markup' => '</div>');
$form = apply_filters('wpcf_form_fields', $form, $update);
// Add JS settings
wpcf_admin_add_js_settings('wpcfFormUniqueValuesCheckText', '\'' . __('Warning: same values selected', 'wpcf') . '\'');
wpcf_admin_add_js_settings('wpcfFormUniqueNamesCheckText', '\'' . __('Warning: field name already used', 'wpcf') . '\'');
wpcf_admin_add_js_settings('wpcfFormUniqueSlugsCheckText', '\'' . __('Warning: field slug already used', 'wpcf') . '\'');
wpcf_admin_add_js_settings('wpcfFormAlertOnlyPreview', sprintf("'%s'", __('Sorry, but this is only preview!', 'wpcf')));
$form['form-close'] = array('#type' => 'markup', '#markup' => '</div>');
/**
* return form if current_user_can edit
*/
if ($current_user_can_edit) {
return $form;
}
return wpcf_admin_common_only_show($form);
}
示例7: wpcf_admin_custom_taxonomies_form
//.........这里部分代码省略.........
wp_enqueue_script('post');
$form['form-open'] = array('#type' => 'markup', '#markup' => sprintf('<div id="poststuff" class="%s">', $current_user_can_edit ? '' : 'wpcf-types-read-only'));
$form['form-metabox-holder-columns-2-open'] = array('#type' => 'markup', '#markup' => '<div id="post-body" class="metabox-holder columns-2">');
$form['post-body-content-open'] = array('#type' => 'markup', '#markup' => '<div id="post-body-content">');
$form['table-1-open'] = array('#type' => 'markup', '#markup' => '<table id="wpcf-types-form-name-table" class="wpcf-types-form-table widefat js-wpcf-slugize-container"><thead><tr><th colspan="2">' . __('Name and description', 'wpcf') . '</th></tr></thead><tbody>');
$table_row = '<tr><td><LABEL></td><td><ERROR><ELEMENT></td></tr>';
$form['name'] = array('#type' => 'textfield', '#name' => 'ct[labels][name]', '#title' => __('Custom taxonomy name plural', 'wpcf') . ' (<strong>' . __('required', 'wpcf') . '</strong>)', '#description' => '<strong>' . __('Enter in plural!', 'wpcf') . '.', '#value' => isset($ct['labels']['name']) ? wp_kses_post($ct['labels']['name']) : '', '#validate' => array('required' => array('value' => true), 'maxlength' => array('value' => 30)), '#pattern' => $table_row, '#inline' => true, '#attributes' => array('placeholder' => __('Enter custom taxonomy name plural', 'wpcf')));
$form['name-singular'] = array('#type' => 'textfield', '#name' => 'ct[labels][singular_name]', '#title' => __('Custom taxonomy name singular', 'wpcf') . ' (<strong>' . __('required', 'wpcf') . '</strong>)', '#description' => '<strong>' . __('Enter in singular!', 'wpcf') . '</strong><br />' . '.', '#value' => isset($ct['labels']['singular_name']) ? wp_kses_post($ct['labels']['singular_name']) : '', '#validate' => array('required' => array('value' => true), 'maxlength' => array('value' => 30)), '#pattern' => $table_row, '#inline' => true, '#attributes' => array('placeholder' => __('Enter custom taxonomy name singular', 'wpcf'), 'class' => 'js-wpcf-slugize-source'));
/*
*
* IF isset $_POST['slug'] it means form is not submitted
*/
$attributes = array();
if (!empty($_POST['ct']['slug'])) {
$reserved = wpcf_is_reserved_name(sanitize_text_field($_POST['ct']['slug']), 'taxonomy');
if (is_wp_error($reserved)) {
$attributes = array('class' => 'wpcf-form-error', 'onclick' => 'jQuery(this).removeClass(\'wpcf-form-error\');');
}
}
$form['slug'] = array('#type' => 'textfield', '#name' => 'ct[slug]', '#title' => __('Slug', 'wpcf') . ' (<strong>' . __('required', 'wpcf') . '</strong>)', '#description' => '<strong>' . __('Enter in singular!', 'wpcf') . '</strong><br />' . __('Machine readable name.', 'wpcf') . '<br />' . __('If not provided - will be created from singular name.', 'wpcf') . '<br />', '#value' => isset($ct['slug']) ? $ct['slug'] : '', '#pattern' => $table_row, '#inline' => true, '#validate' => array('required' => array('value' => true), 'nospecialchars' => array('value' => true), 'maxlength' => array('value' => 30)), '#attributes' => $attributes + array('maxlength' => '30', 'placeholder' => __('Enter custom taxonomy slug', 'wpcf'), 'class' => 'js-wpcf-slugize'));
$form['description'] = array('#type' => 'textarea', '#name' => 'ct[description]', '#title' => __('Description', 'wpcf'), '#value' => isset($ct['description']) ? $ct['description'] : '', '#attributes' => array('rows' => 4, 'cols' => 60, 'placeholder' => __('Enter custom taxonomy description', 'wpcf')), '#pattern' => $table_row, '#inline' => true);
$form['table-1-close'] = array('#type' => 'markup', '#markup' => '</tbody></table>');
$form['post-body-content-close'] = array('#type' => 'markup', '#markup' => '</div>');
/**
* get box order
*/
$meta_box_order_defaults = apply_filters('wpcf_meta_box_order_defaults', array('side' => array('submitdiv', 'wpcf_visibility', 'post_types'), 'normal' => array('labels', 'options')), 'taxonomy');
$screen = get_current_screen();
if (false == ($meta_box_order = get_user_option('meta-box-order_' . $screen->id))) {
$meta_box_order = $meta_box_order_defaults;
} else {
if (isset($meta_box_order[0]) && !isset($meta_box_order['normal'])) {
$meta_box_order['normal'] = $meta_box_order[0];
}
}
$meta_boxes = array();
foreach ($meta_box_order_defaults as $key => $value) {
foreach ($value as $meta_box_key) {
$meta_boxes[$meta_box_key] = $ct;
}
}
if (!$current_user_can_edit) {
$meta_boxes['submitdiv'] = false;
}
foreach ($meta_box_order as $key => $value) {
if (is_array($value)) {
continue;
}
$meta_box_order[$key] = explode(',', $value);
}
/**
* postbox-container-1
*/
$form['postbox-container-1-open'] = array('#type' => 'markup', '#markup' => '<div id="postbox-container-1" class="postbox-container"><div class="meta-box-sortables ui-sortable" id="side-sortables">');
foreach ($meta_box_order['side'] as $key) {
$function = sprintf('wpcf_admin_metabox_%s', $key);
if (is_callable($function) && isset($meta_boxes[$key])) {
$form += $function($meta_boxes[$key], 'side');
unset($meta_boxes[$key]);
}
}
/* close side container */
$form['postbox-container-1-close'] = array('#type' => 'markup', '#markup' => '</div></div>');
/**
* normal container
*/
$form['postbox-container-2-open'] = array('#type' => 'markup', '#markup' => '<div id="postbox-container-2" class="postbox-container"><div class="meta-box-sortables ui-sortable" id="normal-sortables">');
foreach ($meta_box_order['normal'] as $key) {
$function = sprintf('wpcf_admin_metabox_%s', $key);
if (is_callable($function) && isset($meta_boxes[$key])) {
$form += $function($meta_boxes[$key]);
unset($meta_boxes[$key]);
}
}
/**
* grab missing meta-boxes
*/
foreach (array_keys($meta_boxes) as $key) {
$function = sprintf('wpcf_admin_metabox_%s', $key);
if (is_callable($function)) {
$form += $function($meta_boxes[$key]);
}
}
/**
* filter wpcf_post_type_form
*/
$form = $form + apply_filters('wpcf_post_type_form', array(), $ct);
/**
* container-2 close
*/
$form['postbox-container-2-close'] = array('#type' => 'markup', '#markup' => '</div></div>');
$form['form-close'] = array('#type' => 'markup', '#markup' => '</div></div>');
/**
* return form if current_user_can edit
*/
if ($current_user_can_edit) {
return $form;
}
return wpcf_admin_common_only_show($form);
}
示例8: form
/**
* Initialize and render the form.
*
* Determine if existing field group is being edited or if we're creating a new one.
* If we're reloading the edit page after clicking Save button, save changes to database.
* Generate an array with form field definitions (setup the form).
* Fill $this->update with field group data.
*
* @return array
*/
public function form()
{
$this->save();
$this->current_user_can_edit = WPCF_Roles::user_can_create('term-field');
$field_group_id = (int) wpcf_getarr($_REQUEST, $this->get_id, 0);
// If it's update, get data
if (0 != $field_group_id) {
$this->update = wpcf_admin_fields_get_group($field_group_id, WPCF_Field_Group_Term::POST_TYPE);
if (null == $this->get_field_group()) {
$this->update = false;
wpcf_admin_message(sprintf(__("Group with ID %d do not exist", 'wpcf'), $field_group_id));
} else {
$this->current_user_can_edit = WPCF_Roles::user_can_edit('custom-field', $this->update);
$this->update['fields'] = wpcf_admin_fields_get_fields_by_group($field_group_id, 'slug', false, true, false, WPCF_Field_Group_Term::POST_TYPE, WPCF_Field_Term_Definition_Factory::FIELD_DEFINITIONS_OPTION);
}
}
// sanitize id
$this->update['id'] = $this->get_field_group_id();
// copy update to ct... dafuq is "ct"?
$this->ct = $this->update;
$form = $this->prepare_screen();
$form['_wpnonce_wpcf'] = array('#type' => 'markup', '#markup' => wp_nonce_field('wpcf_form_fields', '_wpnonce_wpcf', true, false));
// nonce depend on group id
$nonce_name = $this->get_nonce_action($this->update['id']);
$form['_wpnonce_' . $this->post_type] = array('#type' => 'markup', '#markup' => wp_nonce_field($nonce_name, 'wpcf_save_group_nonce', true, false));
$form['form-open'] = array('#type' => 'markup', '#markup' => sprintf('<div id="post-body-content" class="%s">', $this->current_user_can_edit ? '' : 'wpcf-types-read-only'));
$form[$this->get_id] = array('#type' => 'hidden', '#name' => 'wpcf[group][id]', '#value' => $this->update['id']);
$form['table-1-open'] = array('#type' => 'markup', '#markup' => '<table id="wpcf-types-form-name-table" class="wpcf-types-form-table widefat js-wpcf-slugize-container"><thead><tr><th colspan="2">' . __('Field Group name and description', 'wpcf') . '</th></tr></thead><tbody>');
$table_row = '<tr><td><LABEL></td><td><ERROR><BEFORE><ELEMENT><AFTER></td></tr>';
$form['title'] = array('#title' => sprintf('%s <b>(%s)</b>', __('Field Group name', 'wpcf'), __('required', 'wpcf')), '#type' => 'textfield', '#name' => 'wpcf[group][name]', '#id' => 'wpcf-group-name', '#value' => $this->update['id'] ? $this->update['name'] : '', '#inline' => true, '#attributes' => array('class' => 'large-text', 'placeholder' => __('Enter Field Group name', 'wpcf')), '#validate' => array('required' => array('value' => true)), '#pattern' => $table_row);
$form['description'] = array('#title' => __('Description', 'wpcf'), '#type' => 'textarea', '#id' => 'wpcf-group-description', '#name' => 'wpcf[group][description]', '#value' => $this->update['id'] ? $this->update['description'] : '', '#attributes' => array('placeholder' => __('Enter Field Group description', 'wpcf'), 'class' => 'hidden js-wpcf-description'), '#pattern' => $table_row, '#after' => sprintf('<a class="js-wpcf-toggle-description hidden" href="#">%s</a>', __('Add description', 'wpcf')), '#inline' => true);
$form['table-1-close'] = array('#type' => 'markup', '#markup' => '</tbody></table>');
$form += $this->fields();
$form['form-close'] = array('#type' => 'markup', '#markup' => '</div>', '_builtin' => true);
// setup common setting for forms
$form = $this->common_form_setup($form);
if ($this->current_user_can_edit) {
return $form;
}
return wpcf_admin_common_only_show($form);
}
示例9: wpcf_admin_custom_types_form
//.........这里部分代码省略.........
}
$form['post-body-content-close'] = array('#type' => 'markup', '#markup' => '</div>', '_builtin' => true);
/**
* get box order
*/
$meta_box_order_defaults = apply_filters('wpcf_meta_box_order_defaults', array('side' => array('submitdiv', 'wpcf_visibility', 'taxonomies'), 'normal' => array('labels', 'display_sections', 'options')), 'post_type');
$screen = get_current_screen();
if (false == ($meta_box_order = get_user_option('meta-box-order_' . $screen->id))) {
$meta_box_order = $meta_box_order_defaults;
} else {
if (isset($meta_box_order[0]) && !isset($meta_box_order['normal'])) {
$meta_box_order['normal'] = $meta_box_order[0];
}
}
$meta_boxes = array();
foreach ($meta_box_order_defaults as $key => $value) {
foreach ($value as $meta_box_key) {
$meta_boxes[$meta_box_key] = $ct;
}
}
if (!$current_user_can_edit) {
$meta_boxes['submitdiv'] = false;
}
foreach ($meta_box_order as $key => $value) {
if (is_array($value)) {
continue;
}
$meta_box_order[$key] = explode(',', $value);
}
/**
* postbox-container-1
*/
$form['postbox-container-1-open'] = array('#type' => 'markup', '#markup' => '<div id="postbox-container-1" class="postbox-container"><div class="meta-box-sortables ui-sortable" id="side-sortables">', '_builtin' => true);
foreach ($meta_box_order['side'] as $key) {
$function = sprintf('wpcf_admin_metabox_%s', $key);
if (is_callable($function) && isset($meta_boxes[$key])) {
$form += $function($meta_boxes[$key]);
unset($meta_boxes[$key]);
}
}
/* close side container */
$form['postbox-container-1-close'] = array('#type' => 'markup', '#markup' => '</div></div>', '_builtin' => true);
/**
* normal container
*/
$form['postbox-container-2-open'] = array('#type' => 'markup', '#markup' => '<div id="postbox-container-2" class="postbox-container"><div class="meta-box-sortables ui-sortable">', '_builtin' => true);
foreach ($meta_box_order['normal'] as $key) {
$function = sprintf('wpcf_admin_metabox_%s', $key);
if (is_callable($function) && isset($meta_boxes[$key])) {
$form += $function($meta_boxes[$key]);
unset($meta_boxes[$key]);
}
}
/**
* grab missing meta-boxes
*/
foreach (array_keys($meta_boxes) as $key) {
$function = sprintf('wpcf_admin_metabox_%s', $key);
if (is_callable($function)) {
$form += $function($meta_boxes[$key]);
}
}
/**
* filter wpcf_post_type_form
*/
$form = $form + apply_filters('wpcf_post_type_form', array(), $ct);
/**
* container-2 close
*/
$form['postbox-container-2-close'] = array('#type' => 'markup', '#markup' => '</div></div>', '_builtin' => true);
$form['form-close'] = array('#type' => 'markup', '#markup' => '</div></div>', '_builtin' => true);
/**
* handle _builtin post types
*/
if ($ct['_builtin']) {
foreach ($form as $key => $data) {
if (!isset($data['#type'])) {
continue;
}
if (isset($data['_builtin'])) {
switch ($data['#type']) {
case 'textfield':
case 'textarea':
$form[$key]['#attributes']['readonly'] = 'readonly';
break;
default:
}
continue;
}
unset($form[$key]);
}
}
/**
* return form if current_user_can edit
*/
if ($current_user_can_edit) {
return $form;
}
return wpcf_admin_common_only_show($form);
}