index.php

Pour certains formulaire, j’utilise le plugin payant Gravity Forms qui permet de faire des formulaires avancés.

Le hack suivant vous permettra de remplir dynamiquement un select, il est à placer dans le fichier functions.php de votre thème.

add_filter('gform_pre_render_2', 'populate_posts'); // Changer le '2' par l'ID de votre formulaire
function populate_posts($form){
	foreach($form['fields'] as &$field){
		if($field['cssClass'] == 'NOM_CLASSE'){ // Nom de la classe que vous avez mis dans le formulaire
			$taxonomies = array('NOM_TAXO');
			$arg_taxo = array('orderby'=>'name', 'order'=>'ASC'); 
			$categories = get_terms($taxonomies, $arg_taxo);
			$choices = array(array('text' => 'Indifférent', 'value' => ' ')); // Changer 'Indifférent' par ce que vous souhaitez
			foreach($categories as $categorie) $choices[] = array('text' => $categorie->name, 'value' => $categorie->slug);
			$field['choices'] = $choices;
		}
	}
	return $form;
}

Et voilà !

Source

Voici un petit hack qui vous permettra de couper un texte à N caractères et ajoute des points de suspension…

Ce code est à placer dans le fichier functions.php de votre thème.

function tronque($chaine, $longueur = 150){
	if(empty($chaine)){ return ''; }
	elseif(strlen($chaine) < $longueur){ return $chaine; }
	elseif(preg_match("/(.{1,$longueur})s./ms", $chaine, $match)){ return $match [1]."..."; }
	else{ return substr($chaine, 0, $longueur)."..."; }
}

Et dans un fichier PHP :

tronque(get_the_content(), 150)

Et voilà !

Si vous avez besoin de modifier vos plugins pour une raison ou pour une autre, vous pouvez désactiver les notifications de mise à jour.

Voici donc un petit hack pour ce faire. Ce code est à placer dans le fichier functions.php de votre thème.

function stop_plugin_update($value){
	unset($value->response['NOM_REPERTOIRE/NOM_FICHIER_PRINCIPAL.php']); // Les noms sont le plus souvent les mêmes
	return $value;
}
add_filter('site_transient_update_plugins', 'stop_plugin_update')

Et voilà !

Pour ces astuces, j’ai utilisé le plugin Advanced Custom Field (ACF).

Récupération des images avec ACF

$NOM_VAR = get_field('NOM_CUSTOM_FIELD', $post->ID);
?><img src="<?php echo $NOM_VAR['sizes']['NOM_TAILLE_IMAGE']; ?>" alt="" /><?php

 

Boucle avec un champ SELECT de ACF

$NOM_VARS = get_post_meta($post->ID, 'NOM_CUSTOM_FIELD', true);
foreach($NOM_VARS as $NOM_VAR){
	// LE CODE
}

OU

$NOM_VARS = get_field('NOM_CUSTOM_FIELD', $post->ID);
if($NOM_VARS == 'code_1'){
	// CODE OPTION 1
}elseif($NOM_VARS == 'code_2'){
	// CODE OPTION 2
}else{
	// CODE OPTION 3
}

 

Afficher plusieurs champs continu

for($i=1; $i<=3; $i++){
	$img = get_field('NOM_DU_CHAMP'.$i, $post->ID);
}

Et voilà !