Dapatkan ID lampiran laluan fail dalam WordPress
P粉716228245
P粉716228245 2023-10-20 09:02:14
0
2
586

Saya tahu laluan ke fail dan ingin mendapatkan ID lampiran.

Terdapat fungsi wp_get_attachment_url() yang memerlukan ID untuk mendapatkan URL, tetapi saya memerlukannya secara terbalik (walaupun laluannya bukan URL)

P粉716228245
P粉716228245

membalas semua(2)
P粉254077747

Kemas kini: Sejak wp 4.0.0 terdapat fungsi baru yang berfungsi. Saya belum mengujinya lagi, tetapi ia berlaku seperti ini:

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


Jawapan lama: Penyelesaian terbaik yang saya temui setakat ini ialah ini:

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

Saya rasa ini yang terbaik kerana dua sebab:

  • Ia melakukan beberapa pemeriksaan integriti
  • [Penting! ] Ia tiada kaitan dengan domain. Ini membantu memindahkan tapak dengan selamat. Bagi saya, ini adalah ciri utama.
P粉282627613

Saya menggunakan tangkapan skrin hebat ini daripada pippinsplugins.com

Tambah fungsi ini pada fail functions.php anda

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

Kemudian gunakan kod ini dalam halaman atau templat anda untuk menyimpan/mencetak/menggunakan 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;

Siaran asal di sini: https://pippinsplugins.com/retrieve-attachment-id-from-imageurl/

Semoga membantu ;) Francis

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan