Toutes mes réponses sur les forums
-
AuteurMessages
-
Un dernier point dans ton code « jesuisperdu.php », pourquoi faire deux déclarations de $current_user ?
Optimise le code en faisant :
<?php
global $current_user;
if( isset($current_user) )
{
echo "{$current_user->user_login}<br/>{$current_user->user_url}";
}Bonjour leboncoin,
Reprenons pas à pas ton exemple.
Un shortcode va remplacer un « code » par du contenu.
Ce contenu doit pouvoir s’afficher (je pense que c’est le but) ou s’exécuter en fond.
Donc, ton exemple est le suivant :
function jesuisperdu(){
return'jesuisperdu.php';
}
add_shortcode('perdu','jesuisperdu');Ce qui implique que le shortcode voulu est [perdu] et on fait appel à la fonction ‘jesuisperdu’.
Pour retourner un contenu d’un php, il faut l’encapsuler dans un include (comme l’a déjà dit yrdna)
Si ton jesuisperdu.php ne contient que du texte, ta fonction doit donc s’écrire ainsi :
return include(‘jesuisperdu.php’);
par contre, si il y a une exécution de code avec des « echo » (par exemple), il est préférable d’encapsuler le include comme l’a indiqué pifoux.
Ton code deviendra donc :
ob_start();
include('jesuisperdu.php');
$content = ob_get_clean();
return $content;ob_start() permet de capturer tout ce qui devrait normalement s’afficher à l’écran directement. ob_get_clean() permet de finir la capture, de vider le buffer mémoire et de retourner ce contenu dans $content.
J’espère que ces quelques explications complémentaires te seront utiles.
-
AuteurMessages