derniers articles

Graphiste Web

Utiliser les champs personnalisés WordPress

Vous souhaitez affiner les informations qui s’affichent dans une page ou un article, sans ajouter d’extension? Les champs personnalisés sont là pour ça.

Par défaut, le bloc « champs personnalisés » est caché lors de la création d’une page. Pour l’afficher, cliquer sur l’onglet ‘options de l’écran’, en haut à droite puis cocher « champs personnalisés ».

Cliquez sur « Saisissez-en un nouveau » pour créer un champs de saisi et y remplir le nom (par exemple ‘ville’). Puis, la valeur correspondant dans l’autre champs (par exemple ‘Marseille’).
Publier la page.

Pour afficher ce champs personnalisé dans toutes les pages, ouvrez page.php et insérer le code suivant à l’emplacement souhaité

<p>Ville : <?php get_post_meta($post->ID, 'ville', true) ?></p>

Ce qui affichera
Ville : Marseille

Mais si ce champs est vide, il faut pouvoir cacher également le paragraphe en entier. On changera alors le code par celui-ci.

<?php

	$blocville = get_post_meta($post->ID, "ville", true);
	if($blocville!=NULL){ echo '<p>Ville:'.$blocville.'</p>'; }
?>

Tester si le recaptcha est coché lors de l’envoi du formulaire

Générer en premier les clés sur https://www.google.com/recaptcha/

Dans le fichier du formulaire :
Entre les balises et

<script> 
	var onloadCallback = function() {
		grecaptcha.render(
			'idDeMonCaptcha', {
			'sitekey' : 'aze_MAcleGOOGLE_xyz'
		});
	};
onloadCallback();
</script>

Le code pour afficher le captcha dans le formulaire

<form action="index.php" method="post" id="formValidation">
	<div id="html_element"></div>
	<button type="submit">ENVOYER</button>
</form>

Le test avant l’envoi

<script>
	$("#formValidation").submit(function(e) {
	var captcha = false;
	if(grecaptcha.getResponse() == "") {
		msg_captcha="Cochez la case je ne suis pas un robot";}
	else {
		msg_captcha=""; captcha=true;}

	if (captcha==true) {
		return; /*envoi form*/ }
	else {
		e.preventDefault();/*stop l'envoi*/
		alert (msg_captcha);
	};

});
</script>
 <script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer></script>

Ajouter un champs personnalisé sur une page ou un custom post type

On a accès, par défaut, à ces champs, dans les articles ou les pages. Mais si vous avez créé vous même des post types, il faut rajouter ces champs grâce au code suivant:
Dans le fichier function

add_action('wp_insert_post', 'wpc_champs_personnalises_defaut');
 function wpc_champs_personnalises_defaut($post_id)
 {
 if ( $_GET['post_type'] = 'toto' ) {
 add_post_meta($post_id, 'custom_field_1', '', true);
 add_post_meta($post_id, 'custom_field_2', '', true);
 }
 return true;
 }

Toto étant le post type que j’aurai créé auparavant.

Article de référence : sur wpchannel.com

12314