Obtenir l'ID de pièce jointe du chemin du fichier dans WordPress
P粉7162282452023-10-20 09:02:14
0
2
595
Je connais le chemin d'accès au fichier et je souhaite obtenir l'ID de la pièce jointe.
Il existe une fonction wp_get_attachment_url() qui nécessite l'ID pour obtenir l'URL, mais j'en ai besoin à l'envers (bien que le chemin ne soit pas l'URL)
J'ai utilisé cette capture d'écran sympa de pippinsplugins.com
Ajoutez cette fonction à votre fichier function.php
// retrieves the attachment ID from the file URL
function pippin_get_image_id($image_url) {
global $wpdb;
$attachment = $wpdb->get_col($wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE guid='%s';", $image_url ));
return $attachment[0];
}
Utilisez ensuite ce code dans votre page ou modèle pour stocker/imprimer/utiliser l'identifiant :
// set the image url
$image_url = 'http://yoursite.com/wp-content/uploads/2011/02/14/image_name.jpg';
// store the image ID in a var
$image_id = pippin_get_image_id($image_url);
// print the id
echo $image_id;
Mise à jour : depuis wp 4.0.0, il existe une nouvelle fonction qui fait le travail. Je ne l'ai pas encore testé, mais ça ressemble à ceci :
https://developer.wordpress.org/reference/functions/attachment_url_to_postid/
Ancienne réponse : La meilleure solution que j'ai trouvée jusqu'à présent est la suivante :
https://frankiejarrett.com /2013/05/get-an-attachment-id-by-url-in-wordpress/
Je pense que c'est le meilleur pour deux raisons :
J'ai utilisé cette capture d'écran sympa de pippinsplugins.com
Ajoutez cette fonction à votre fichier function.php
Utilisez ensuite ce code dans votre page ou modèle pour stocker/imprimer/utiliser l'identifiant :
Message original ici : https://pippinsplugins.com/retrieve-attachment-id-from-imageurl/
J'espère que cela aide ;) François