function ce_field_validate($data) { $fields = CE_Fields::get_fields(); foreach ($fields as $key => $value) { if (!$value['field_required']) { continue; } if (isset($value['field_cats'])) { $field_cats = $value['field_cats']; $cat = $data['tax_input'][CE_AD_CAT]; $intersec = array_intersect($field_cats, $cat); if (!empty($intersec)) { if (!isset($data[$value['field_name']]) || !$data[$value['field_name']]) { return new WP_Error('ad_empty_content', sprintf(__("Please complete all required fields.", ET_DOMAIN), $value['field_label'])); } } } } return $data; }
public function check_field_exitst($field_name, $pos = -1) { $fields = CE_Fields::get_fields(); if (is_array($fields) && empty($fields)) { foreach ($fields as $key => $field) { if ($key == $pos) { continue; } if ($field['field_name'] == $field_name) { return true; } } } return false; }
<div class="wrap-meta-fields tab fields_tab_div" id="fields_tab"> <h5 class=" title font-quicksand"><?php _e("List Ad's Fields", ET_DOMAIN); ?> </h5> <div id="fields_lists"> <ul class="pay-plans-list add-fields fields-list sortable ui-sortable" id="list_ad_fields"> <?php $uri = $_SERVER['QUERY_STRING']; $fields = (array) CE_Fields::get_fields(); $list_fields = array(); if ($fields) { foreach ($fields as $key => $field) { if (empty($field)) { continue; } if (isset($field['field_cats'])) { $cats = array(); $terms = $field['field_cats']; if (is_array($terms)) { foreach ($terms as $key => $value) { $term = get_term($value, CE_AD_CAT); if ($term == null || $term instanceof WP_Error) { continue; } $cats[$key]['id'] = (int) $value; $cats[$key]['name'] = $term->name; } } $field['field_cats'] = $cats; }
public function ce_field_show_after_content($id) { $fields = CE_Fields::get_fields(); $taxs = CE_Fields::get_taxs(); if ($fields) { foreach ($fields as $key => $field) { if (empty($field)) { continue; } $value = get_post_meta($id, $field['field_name'], true); if (!empty($value)) { if ($field['field_type'] == 'date') { $value = date(get_option('date_format'), strtotime($value)); } if ($field['field_type'] == 'url') { echo '<p class="ext-field"><label>' . $field['field_label'] . ': </label><span class="ext-field-value"><a target="_blank" href="' . esc_url($value) . '" rel="nofollow">' . $value . '</a></span></p>'; } else { echo '<p class="ext-field"><label>' . $field['field_label'] . ': </label><span class="ext-field-value">' . $value . '</span></p>'; } } } } if (!empty($taxs) && !is_wp_error($taxs)) { foreach ($taxs as $key => $tax) { $ad_terms = wp_get_object_terms($id, $tax['tax_name']); if (!empty($ad_terms)) { if (!is_wp_error($ad_terms)) { echo '<p class="ext-field ext-taxonomy"><label>' . $tax['tax_label'] . ':</label>'; foreach ($ad_terms as $key => $term) { if ($key == count($ad_terms) - 1) { echo $term->name . '.'; } else { echo $term->name . ', '; } } echo '</p>'; } } } } }
/** * Render Meta Box content. * * @param WP_Post $post The post object. */ public function render_meta_box_content($post) { if ($post->post_type != CE_AD_POSTTYPE) { return; } // Add an nonce field so we can check for it later. wp_nonce_field('myplugin_inner_custom_box', 'myplugin_inner_custom_box_nonce'); // Display the form, using the current value. echo '<label for="myplugin_new_field">'; _e('List of fields added through CE Custom Fields.', 'ET_DOMAIN'); echo '</label> '; ?> <table class="form-table ad-info"> <tbody> <?php $fields = CE_Fields::get_fields(); if ($fields) { foreach ($fields as $key => $field) { $this->show_field($field, $post); } } ?> </tbody> </table> <script type="text/javascript"> (function($) { $(document).ready(function(){ if($('.ce_field_datepicker').length>0){ $('.ce_field_datepicker').datepicker({ dateFormat : edit_ad.dateFormat //defaultDate : new Date(jQuery('#et_date').val()) }); } }); })(jQuery); </script> <?php }