web-dev-qa-db-fra.com

get_template_part ne fonctionne pas avec ajax

J'ai chargé du contenu par ajax, quand j'essaie quelque chose comme ça:

$resp = array(
    'success' => true,
    'data' => 'the content here'
);

cela fonctionne sans aucun problème, mais si j'utilisais quelque chose comme ceci:

$resp = array(
    'success' => true,
    'data' => get_template_part( 'templates/update', 'profile' )
);

cela me donne SyntaxError: JSON.parse: mot-clé inattendu à la ligne 1 colonne 1 des données JSON.

the content here{"success":true,"data":null}

Quel est le problème avec get_template_part?

1
Trello

get_template_part() inclut le fichier PHP, qui cassera $resp. Vous devez utiliser output buffering pour capturer la sortie dans une variable:

ob_start();
get_template_part( 'templates/update', 'profile' );
$data = ob_get_clean();

$resp = array(
    'success' => true,
    'data'    => $data
);
3
Jacob Peattie