Fonctionnement de get_attached_media

- - Dernière réponse :  Sebastien31T - 3 oct. 2019 à 11:51
Bonjour, je viens vers vous car je souhaite sur mon site avoir dans un article un media de type audio,
je souhaiterai que cette même fichier audio soit téléchargeable.

j'utilise get_attached_media

ex

$lien_audio = get_attached_media('audio', $idpost)


quand je fais un echo de la variable $lien_audio j'obtien Array comme lien.
Quand je fais un var_dump de cette même variable j'obtien bien toute les informations concernant et le lien de l'audio.

j'essaie donc de récupérer la valeur dans le tableau comme ceci:
 echo $lien_audio['guid']


Mais ca ne fonctionne pas non plus.

pouvez-vous m'aider a récupérer le lien audio du post pour en faire un lien de téléchargement svp ?

Merci d'avance.
Cordialement
Afficher la suite 

3 réponses

Messages postés
5523
Date d'inscription
mercredi 30 octobre 2013
Statut
Membre
Dernière intervention
17 octobre 2019
840
0
Merci
Bonjour
tu veux absolument que ce soit automatique ? parce que tu peux insérer manuellement un lien de téléchargement en utilisant le bloc fichier (dans les blocs communs) de gutenberg

envoie ton fichier audio dans la bibliothèque puis va sur l'éditeur d'article, ouvre le bloc fichier de gutenberg, clique sur bibliothèque de media, clique sur ton audio et valide, c'est tout !
Commenter la réponse de elgazar
0
Merci
Bonsoir,

Oui il est indispensable que ce soit automatique car sur ce site il y a deja beaucoup de post, et je souhaite vraiment que ce soit dans la boucle des posts.
Commenter la réponse de Sebastien31T
Messages postés
26519
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 octobre 2019
1833
0
Merci
Bonjour

get_attached_media te retourne un array de 1 ou plusieurs fichiers..
Tu dois donc boucler dessus.

Le print_r me renvoi un array comme var_dump avec les mêmes valeurs
jordane45
Messages postés
26519
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 octobre 2019
1833 > Sebastien31T -
Ce qui serait utile...... c'est que tu nous montres ce que ça te retourne....
Car normalement...
$media = get_attached_media('audio',$id);
foreach( $media as $k=>$A ){
  print_r($A);
}
ca me donne:

WP_Post Object ( [ID] => 10 [post_author] => 1 [post_date] => 2019-09-28 21:36:07 [post_date_gmt] => 2019-09-28 19:36:07 [post_content] => les-progrès-dans-la-vie-de-lesprit-080919-JMB. Genre : Blues. [post_title] => les-progrès-dans-la-vie-de-lesprit-080919-JMB [post_excerpt] => [post_status] => inherit [comment_status] => open [ping_status] => closed [post_password] => [post_name] => les-progres-dans-la-vie-de-lesprit-080919-jmb [to_ping] => [pinged] => [post_modified] => 2019-09-28 21:39:27 [post_modified_gmt] => 2019-09-28 19:39:27 [post_content_filtered] => [post_parent] => 15 [guid] => http://localhost/tlse-ouest2/wp-content/uploads/2019/09/les-progrès-dans-la-vie-de-lesprit-080919-JMB.mp3 [menu_order] => 0 [post_type] => attachment [post_mime_type] => audio/mpeg [comment_count] => 0 [filter] => raw )
jordane45
Messages postés
26519
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 octobre 2019
1833 > Sebastien31T -
Donc.. ce n'est pas un ARRAY ... mais un OBJECT
Essaye ça
foreach($media as $m) {
  echo $m->guid;
}

ou même mieux je pense....
foreach($media as $m) {
  var_dump(wp_get_attachment_url($m->ID));
}
Super maintenant c'est plus clair et ca me renvoi bien le lien complet!
Merci de ton aide.
Commenter la réponse de jordane45