Utiliser un la valeur d’un champ personnalisé dans un shortcode

Si vous souhaitez faire appel à la valeur d’un champ personnalisé pour afficher un shortcode c’est possible et ça ouvre de nombreuses possibilités pour des shortcodes personnalisés.

Comment récupérer la valeur d’un champ personnalisé dans un shortcode ?

Ajoutez la fonction suivante à votre fichier functions.php et personnalisez la à votre guise :

add_shortcode('mon-shortcode', 'wpln_shortcode_field');

function wpln_shortcode_field($atts){
  extract(shortcode_atts(array(
   'post_id' => NULL,
  ), $atts));

  if(!isset($atts[0])) return;
  $field = esc_attr($atts[0]);

  global $post;
  $post_id = (NULL === $post_id) ? $post->ID : $post_id;

  return get_post_meta($post_id, $field, true);
}

Pour l’afficher, votre shortcode ressemblera alors à : [mon-shortcode « champ-personnalise »] ou à [field « champ-personnalise » post_id= »1″]