web-dev-qa-db-fra.com

Fonctions shortCode imbriquées dans le fichier functions.php

J'essaie d'obtenir une fonction de shortcode (newStuff) à afficher dans une autre fonction (oldStuff), mais j'ai des problèmes. Les deux fonctions de shortCode sont énumérées ci-dessous, ainsi que ce que j'ai essayé. Est-ce que quelqu'un peut m'aider à afficher la fonction "newStuff" dans la fonction "oldStuff"?

Merci!

Fonctions actuelles

function newStuff(){
return '
only raw html is in this function
';
}
add_shortcode('new', 'newStuff');

function oldStuff(){
return '
only raw html is in this function
';
}
add_shortcode('old', 'oldStuff');

J'ai essayé d'inclure le code court, mais cela n'a pas fonctionné

function oldStuff(){
return '
[new]
only raw html is in this function
';
}
add_shortcode('old', 'oldStuff');

J'ai essayé d'inclure la fonction, mais cela n'a pas fonctionné

function oldStuff(){
return '
echo newStuff();
only raw html is in this function
';
}
add_shortcode('old', 'oldStuff');
1
Mr. B

Vous devez utiliser la fonction do_shortcode () dans les deux chaînes que vous retournez pour exécuter les codes courts de la chaîne.

function oldStuff(){
    return do_shortcode('
        [new]
        only raw html is in this function
    ');
}
add_shortcode('old', 'oldStuff');
6
M-R