web-dev-qa-db-fra.com

Utilisation de champs personnalisés avancés dans un widget

J'ai construit un widget pour afficher les pages d'une certaine catégorie dans un menu déroulant. La page sélectionnée apparaîtra sur la page d'accueil. Tout cela fonctionne, sauf que les champs personnalisés avancés (ACF) affichent tous la même image. Je pense que cela a à voir avec $ instance ...

Le code que j'utilise est:

    <div class="home-image-box">

    <?php $attachment_id = get_field('main_image');
    $size = "home-boxes";
    $image = wp_get_attachment_image_src( $attachment_id, $size );
    ?>

    <a href="<?php echo get_permalink($instance['post_id']); ?>">
    <img class="headline" width="<?php echo $image[1]; ?>" height="<?php echo $image[2]; ?>" src="<?php echo $image[0]; ?>" />
    </a>
    </div>

    <p class="extra-text"><?php the_field('sub_title'); ?></p>

Tout le code fonctionne très bien sur les pages individuelles - ce n'est que lorsque le widget l'appelle que je reçois ces problèmes. Le titre et le permalien utilisent les fonctions normales de Wordpress, qui fonctionnent également très bien.

Y a-t-il des utilisateurs d’ACF ici qui peuvent nous éclairer?

Merci

2
Dave

Essayez de passer l'ID de poste en tant que deuxième paramètre:

the_field('sub_title', $instance['post_id']);
2
montrealist