web-dev-qa-db-fra.com

Champs personnalisés avancés Image renvoyant un champ à la place de l'URL

J'utilise ACF pour ajouter des champs personnalisés à un utilisateur. J'essaie de sortir ces champs au début. J'étais capable de tirer tous les champs, mais quand j'essayais d'obtenir l'image, ça ne tirait pas.

Voici mon code:

<?php $user_id = get_query_var( 'author' ) ?>
<?php $clan_member_info = get_userdata($user_id); ?>

<p><?php if(!empty($clan_member_info->psn_id)) echo '<li>' . $clan_member_info->psn_id . '</li>'; ?></p> //Example of me pulling a text field

<?php if(!empty($clan_member_info->cover_photo)) echo '<img src="'.$clan_member_info->cover_photo.'"/>'; ?>

L'exemple du psn_id tire à la perfection. L'img retourne ce <img src="95">.

Dans la section Utilisateur de WP, j'ai téléchargé une photo sur le terrain pour mon propre utilisateur. Dans le groupe de champs ACF, j'ai le champ pour obtenir "URL de l'image". J'espérais, si vous regardez le code, cracher la url dans la src et sortir la img.

S'il me manque des données, je pourrais fournir une URL Pastebin complète du fichier php.

1
Darren Bachan

Lorsque vous utilisez ACF, vous devez utiliser les méthodes décrites dans la documentation de leur site Web, car ACF ne stocke pas les données de la manière habituelle Wordpress.

Vous pouvez utiliser les fonctions get_field ou the_field pour extraire des données de vos champs.

Par exemple, pour obtenir des données pour votre champ 'cover_photo', vous pouvez effectuer les tâches suivantes:

$user_id = get_query_var( 'author' )
$cover_photo = get_field('cover_photo', 'user_'.$user_id);
// Assuming you have this field set to return a url
echo "<img src='$cover_photo'>";

Pour plus d'informations, voir: https://www.advancedcustomfields.com/resources/how-to-get-values-from-a-user/

2
ngearing