web-dev-qa-db-fra.com

do_shortcode () ne fait pas de shortcodes;)

Imaginez ce shortcode de base dans votre fichier functions.php:

function div_shortcode( $atts ) {
   return '<div class="div"></div>';
}

add_shortcode('div', 'div_shortcode');

Ainsi, chaque [div] dans l'éditeur Wordpress donne <div class="div"></div>.

Tout a l'air et fonctionne bien, non?

Maintenant, voici le problème.

Je dois utiliser mon shortcode dans le fichier PHP (sans le mettre via WP Éditeur de texte).

Heureusement, il existe une fonction pour cela:

<?php do_shortcode('[div]'); ?> 

Mais attendez, ça montre ... rien?

<?php do_shortcode('[gallery]'); ?> 

Même celui-ci ne fonctionne pas.

Pourquoi est-ce que ça se passe? Des idées?

5
Wordpressor

Les fonctions de shortcode renvoient une valeur, vous devez lui faire écho ou l’affecter à quelque chose.

<?php echo do_shortcode('[div]'); ?>
10
Milo