首頁  >  問答  >  主體

取得WordPress中檔案路徑的附件ID

我知道文件的路徑,並且希望取得附件 ID。

有一個函數 wp_get_attachment_url() 需要 ID 來取得 URL,但我需要它反向(儘管路徑不是 URL)

P粉716228245P粉716228245388 天前568

全部回覆(2)我來回復

  • P粉254077747

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

    更新:自 wp 4.0.0 以來,有一個新函數可以完成這項工作。我還沒有測試過,但它是這樣的:

    https://developer.wordpress.org/reference/functions/attachment_url_to_postid/


    舊答案:到目前為止,我發現的最佳解決方案如下:

    https://frankiejarrett.com /2013/05/get-an-attachment-id-by-url-in-wordpress/

    #

    我認為這是最好的,原因有兩個:

    • 它會進行一些完整性檢查
    • [重要! ]它與域無關。這有助於安全地移動場地。對我來說,這是一個關鍵功能。

    回覆
    0
  • P粉282627613

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

    我用了 pippinsplugins.com 的這個很酷的截圖

    將此函數加入到您的functions.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]; 
    }

    然後在您的頁面或範本中使用此程式碼來儲存/列印/使用 ID:

    // 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;

    原文在這裡:https://pippinsplugins.com/retrieve-attachment-id-from-圖片網址/

    希望有幫助;) 弗朗西斯

    回覆
    0
  • 取消回覆