Page 1 sur 1

enregistrement valeur dans wordpress

Posté : 24 juil. 2014, 09:53
par gmartine
Bonjour,

J'aimerai que ce code enregistre les données cochés dans la partie admin de mon wordpress. Mon formulaire se valide bien par contre les données "compétences souhaitées" ne s'affiche pas dans la partie admin wordpress.

Voici la partie de mon formulaire qui ne fonctionne pas (envoi) :
<?php 
  
  $field = get_field_object('competences_souhaitees');
  $values = explode(',', $_GET['competences_souhaitees']);
  
  ?>
		
		<ul>
		  <?php foreach( $field['choices'] as $choice_value => $choice_label ): ?>
		  <li>
			<input type="checkbox" name="comp_job" value="<?php echo $choice_value; ?>" <?php if( in_array($choice_value, $values) ): ?>checked="checked"<?php endif; ?> /> <?php echo $choice_label; ?></li>
		
		  <?php endforeach; ?>
		</ul>
Réception :
<?php

function colabs_process_submit_job_form() {
	
	global $post, $posted, $job_details, $custom_posted;
	$errors = new WP_Error();
	
	if (isset($_POST['job_submit']) && $_POST['job_submit']) :
	
		// Get (and clean) data
		$fields = array(
			'your_name',
		    'colabs_customform_numrodesiret',
			'website',
            'last_name',
            'mobile_number',
            'email',
			'job_title',
		    'job_term_type',
			'job_term_cat',
		        [b] 'comp_job',[/b]
			'job_term_salary',
			'colabs_address',
			'colabs_geo_latitude',
			'colabs_geo_longitude',
			'details',
		  	'poste',
			'apply',
			'tags'
		);
		foreach ($fields as $field) {
			if (isset($_POST[$field])) $posted[$field] = stripslashes(trim($_POST[$field]));
		}
  
 
		[b]$values = array();
		if (isset($_POST['comp_job'])) $comp_job = $_POST['comp_job']; else $comp_job = '';
		if (is_array($comp_job)) :
			foreach ($comp_job as $key => $value) :
				$values[] = $key;
			endforeach;
		endif;[/b]
		
		

  
		### Strip html
		
		if (get_option('colabs_html_allowed')=='false') :
			
			$posted['details'] = strip_tags($posted['details']);
			$posted['apply'] = strip_tags($posted['apply']);
  			$posted['poste'] = strip_tags($posted['poste']);
			
		endif;

		### Website
	
		if (!empty($posted['website']) && !strstr($posted['website'], 'http')) :
			$posted['website'] = 'http://' . $posted['website'];
		endif;
		
		### Feature it
		
		$posted['featureit'] = 'false';

		// Check required fields
		$required = array(
		    'your_name' => __('Le nom de la société', 'colabsthemes'),
            'last_name' => __('Le nom du recruteur', 'colabsthemes'),
		  	'email' => __('l\'adresse mail', 'colabsthemes'),
            'mobile_number' => __('Le numéro de téléphone', 'colabsthemes'),
		    'job_term_type' => __('Job type', 'colabsthemes'),
		  [b]// 'competences_souhaitees' => __('competences_souhaitees', 'colabsthemes'),[/b]
			'job_title' => __('Job title', 'colabsthemes'),
			'details' => __('Job description', 'colabsthemes'),
		);
		
		if (get_option('colabs_submit_cat_required')=='true') :
			$submit_cat = array('job_term_cat' => __('Job category', 'colabsthemes'));
			$required = array_merge($required, $submit_cat);
		endif;
		
		foreach ($required as $field=>$name) {
			if (empty($posted[$field])) {
				$errors->add('submit_error', __('<strong>ERROR</strong>: &ldquo;', 'colabsthemes').$name.__('&rdquo; is a required field.', 'colabsthemes'));
			}
		}
		
		if ($errors && sizeof($errors)>0 && $errors->get_error_code()) {} else {
			if(isset($_FILES)){
				foreach ( $_FILES as $key => $value ) {
					/** WordPress Administration File API */
					require_once(ABSPATH . 'wp-admin/includes/file.php');					
					/** WordPress Media Administration API */
					require_once(ABSPATH . 'wp-admin/includes/media.php');
													
					$posted['company-logo-name'] = $value['name'];
					
					// Check valid extension
					$allowed = array(
						'png',
						'gif',
						'jpg',
						'jpeg'
						
					);
					
					//$extension = strtolower(pathinfo($_FILES['company-logo']['name'], PATHINFO_EXTENSION));
					$extension = strtolower(substr(strrchr($value['name'], "."), 1));
					
					if (!in_array($extension, $allowed)) {
						$errors->add('submit_error', __('<strong>ERREUR</strong>: Logo de la société obligatoire -> Seul les formats jpg, gif, et png sont autorisés.', 'colabsthemes'));
					} else {
						$time = current_time('mysql');
						$overrides = array('test_form'=>false);
						if('company-logo'==$key) {
							add_filter('upload_dir', 'company_logo_upload_dir');													
							$file = wp_handle_upload($value, $overrides, $time);							
							remove_filter('upload_dir', 'company_logo_upload_dir');
												
							if ( !isset($file['error']) ) {					
								$posted['company-logo'] = $file['url'];
								$posted['company-logo-type'] = $file['type'];
								$posted['company-logo-file'] = $file['file'];
							} 
							else {
								$errors->add('submit_error', __('<strong>ERROR</strong>: ', 'colabsthemes').$file['error'].'');
							}
						}else{
							$file = wp_handle_upload($value, $overrides, $time);
							$custom_posted['files'][$key] = array_merge($file,$value);
						}	
					}		
				}
			}
		}		
		
	### Custom Form
		
		foreach ($_POST as $key=>$value):
			if((strpos($key,'colabs_customform_'))!==false)$custom_posted[$key]=$value;
		endforeach;

	endif;
	
	$submit_form_results = array(
		'errors' => $errors,
		'posted' => $posted,
		'custom_posted' => $custom_posted
	);

	return $submit_form_results;

}