web-dev-qa-db-fra.com

Chargement du contenu de la page dans une variable du modèle

Sur l'un de mes modèles personnalisés, je dois travailler sur le contenu avant de l'afficher. Existe-t-il un moyen de charger ce contenu dans une variable plutôt que de le sortir sur la page?

C’est ce que j’ai essayé mais il ne renvoie que le contenu de la page, il ne le charge pas dans la variable.

$content = get_template_part( 'content', 'page');
2
Spencer May

Vous pouvez toujours utiliser la mise en mémoire tampon de sortie pour stocker le contenu d'impression dans une variable.

function return_get_template_part($slug, $name=null) {

   ob_start();
   get_template_part($slug, $name);    
   $content = ob_get_contents();
   ob_end_clean();

   return $content;
}
$content = return_get_template_part('content', 'page');

Il serait préférable de continuer à utiliser get_template_part () maintenant. Une alternative serait d’utiliser Locate_template () function, mais cela compromettrait l’utilisation des modèles par défaut.

Vérifiez l’implémentation de get_template_part () et Locate_template () vous comprendriez.

4
M-R

Si vous souhaitez charger un fichier de modèle, exécuter le code qu'il contient et enregistrer les résultats dans une variable, vous devez utiliser la mise en mémoire tampon de sortie de php:

ob_start();
get_template_part( 'content', 'page' );
$content = ob_get_contents();
ob_end_clean();
1
Milo