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à !
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à !