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)
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;
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:
Saya menggunakan tangkapan skrin hebat ini daripada pippinsplugins.com
Tambah fungsi ini pada fail functions.php anda
Kemudian gunakan kod ini dalam halaman atau templat anda untuk menyimpan/mencetak/menggunakan ID:
Siaran asal di sini: https://pippinsplugins.com/retrieve-attachment-id-from-imageurl/
Semoga membantu ;) Francis