WordPress : Créer un shortcode dans le thème enfant ?
J’ai créé un thème enfant, et j’essaye d’ajouter un shortcode à son fichier functions.php, en faisant ceci :
// functions.php of child theme
<?php
include(WP_CONTENT_DIR . '/graduates_functions.php');
?>
// graduates_functions.php
<?php
// [bartag foo="foo-value"]
function sayhi_func( $atts ) {
extract( shortcode_atts( array(
'graduate_type' => 'seo',
'bar' => 'something else',
), $atts ) );
echo 'test';
}
add_shortcode( 'sayhi', 'sayhi_func' );
?>
Mais quand je fais [sayhi] à partir d’une page, je ne vois pas l’écho, je vois [sayhi]. Cela fonctionne si j’ajoute la même chose dans le functions.php du thème lui-même, pas l’enfant.
Des pensées?
Solution n°1 trouvée
Les shortcodes ne « font pas écho », ils doivent « renvoyer » quelque chose. Donc je suppose que cela fonctionnera si vous mettez le contenu de vos fonctions entre ob_start et ob_get_clean afin que vous renvoyiez tout entre:
function yourfunction(){ ob_start(); /* insert here the code of your function */ $output = ob_get_clean(); return $output; }
0 commentaire