J'ai essayé de résoudre mon dernier problème WordPress toute la matinée et je pense que le moment est venu de crier et de demander de l'aide.
J'ai essayé de créer un répertoire de personnes. Je suis là, sauf pour la page de liste globale dans laquelle j'ai décidé de créer des rangées de 5 images suivies du nom des personnes situé sous chaque image, suivi d'une autre, d'une ligne, etc.
Chaque page de personnes contient un ensemble de champs personnalisés dont l'un est name
et l'autre mainimage
. L'idée étant qu'avec le code suivant, je peux extraire l'image avec le nom des pages enfants de people
et les afficher tous sur la même page. l'image et le nom liés au lien permanent de la page enfant spécifique.
<?php
// Get the page's children
$args = array( 'numberposts' => 100, 'child_of' => 35, 'post_type' => page, );
$children = get_pages( $args );
if (!empty($children)) {
echo '';
foreach($children as $child) {
// Get the 2 meta values from the child page
$main_image = get_post_meta($child->ID, 'main_image', true);
$name = get_post_meta($child->ID, 'name', true);
// Display the meta values
echo '<br />';
echo $main_image;
echo '<br />';
echo $name;
}
echo '';
}
?>
Cela fonctionne un peu, mais je reçois un numéro pour l’image par opposition à quelque chose qui produit en sortie une image. Après avoir vérifié le champ personnalisé, j'ai trouvé que la valeur de l'image était un nombre et me paraissait être un ID de média.
Je dois pouvoir interpréter l'ID de la page de contacts comme une image ou un moyen de vérifier que les adresses URL réelles sont placées dans les valeurs de champs personnalisés afin que je puisse utiliser le code img src
html standard pour générer l'image.
J'utilise Advanced Custom Fields pour créer les champs de la page de personnes ainsi que des pages de personne.
Toute aide serait grandement appréciée, car j’ai essayé plusieurs variantes du code ci-dessus, mais je ne peux tout simplement pas obtenir le numéro à modifier pour l’image associée.
Utilisez wp_get_attachment_image( $id )
.
Exemple de code:
print wp_get_attachment_image(
$main_image,
array ( 80, 80 ),
FALSE,
array ( 'alt' => 'portrait' )
);
Lorsque vous utilisez get_field()
ou the_field()
et que l'ID d'image est renvoyé à la place de la valeur de retour attendue, cela signifie que acf_add_local_field_group()
n'a pas été exécuté. Par conséquent, ACF extrait la valeur brute de la base de données mais n’a aucun moyen de déterminer le format de votre choix.
Pour résoudre le problème, assurez-vous que acf_add_local_field_group()
est exécuté à partir du hook init
et non de l'un des hooks admin_*
.