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;
}
示例#2
0
 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;
        }
示例#4
0
 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>';
                 }
             }
         }
     }
 }
示例#5
0
    /**
     * 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 
    }