Dans le backoffice du wordpress, on crée une page à partir du CPT dans lequel on peut remplir les champs ACF prévus.
Sur le front, les pages créees à partir du CPT affichent le contenu prévu.
Tout ça fonctionne très bien.
Mais je dois afficher une partie des infos ACF ailleurs que dans le CPT, par exemple sur la page d'accueil pour donner envie de visiter ces pages.
Je ne sais pas comment m'y prendre.
Pourriez-vous m'aider ? Je suis en train d'apprendre php, je n'ai que très peu de notions.
J'ai essayé ceci, mais ça fait planter le site :
function afficher_dernieres_datas_shortcode() {
ob_start(); // Initialiser le tampon de sortie
// Query pour récupérer les pages du CPT
$args = array(
'post_type' => 'publication', // choix de mon CPT
'posts_per_page' => -1, // Récupérer toutes les pages
'order' => 'DESC',
);
$query = new WP_Query($args);
// Vérifie si des pages ont été trouvées
if ($query->have_posts()) {
// Boucle sur les pages
while ($query->have_posts()) {
$query->the_post();
// Utilisez get_field pour récupérer la valeur de vos champs ACF
$repeteur_acf = get_field('cat_publi');
if (is_array($repeteur_acf)) {
// Limitez à 8 éléments du tableau
$repeteur_acf = array_slice($repeteur_acf, 0, 8);
// Affichez les valeurs du champ
foreach ($repeteur_acf as $valeur) {
echo esc_html($valeur['titre_taxo']);
}
}
}
// Réinitialise les données de la requête
wp_reset_postdata();
} else {
// Aucune page trouvée
echo 'Aucune page trouvée.';
}
return ob_get_clean(); // Récupérer et nettoyer la sortie du tampon
}
// Enregistrez le shortcode
add_shortcode('afficher_dernieres_datas', 'afficher_dernieres_datas_shortcode');