Maison  >  Questions et réponses  >  le corps du texte

Obtenir l'ID de pièce jointe du chemin du fichier dans WordPress

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)

P粉716228245P粉716228245339 Il y a quelques jours531

répondre à tous(2)je répondrai

  • P粉254077747

    P粉2540777472023-10-21 00:51:08

    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 :

    • Il effectue quelques contrôles de santé mentale
    • [Important ! ] Cela n'a rien à voir avec le domaine. Cela permet de déplacer le site en toute sécurité. Pour moi, c'est une fonctionnalité clé.

    répondre
    0
  • P粉282627613

    P粉2826276132023-10-21 00:44:12

    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;

    Message original ici : https://pippinsplugins.com/retrieve-attachment-id-from-imageurl/

    J'espère que cela aide ;) François

    répondre
    0
  • Annulerrépondre