Saya menggunakan kode templat berikut untuk menampilkan tautan lampiran:
$args = array(
'post_type' => 'attachment',
'numberposts' => -1,
'post_status' => null,
'post_parent' => $main_post_id
);
$attachments = get_posts($args);
foreach ($attachments as $attachment)
{
the_attachment_link($attachment->ID, false);
}
tapi setelah tautan saya perlu menampilkan ukuran file. Bagaimana saya bisa melakukan ini?
Saya menduga saya bisa menentukan path file (melalui wp_upload_dir()
dan substr()
dari wp_get_attachment_url()
) dan panggilan filesize()
tetapi yang tampaknya berantakan, dan aku hanya ingin tahu apakah ada metode yang dibangun ke dalam WordPress.
templates
attachments
Bobby Jack
sumber
sumber
Jawaban:
Sejauh yang saya tahu, WordPress tidak memiliki built-in untuk ini, saya hanya akan melakukan:
filesize( get_attached_file( $attachment->ID ) );
sumber
wp_upload_dir()
dll!Saya telah menggunakan ini sebelumnya di functions.php untuk menampilkan ukuran file dalam format yang mudah dibaca:
Dan kemudian di templat saya:
sumber
size_format()
danwp_convert_bytes_to_hr()
Saya akan lakukan:
Atau dengan ukuran yang bisa dibaca seperti
423.82 KB
Rujukan : get_attached_file () , filesize () , size_format ()
Catatan: Tentukan milik Anda
$attachment_id
sumber
Untuk menemukan ukuran file yang ditambahkan melalui plugin bidang khusus, saya melakukan ini:
Pastikan Anda mengatur "Nilai Pengembalian" bidang khusus ke "File Object".
sumber
Ada solusi yang lebih mudah, untuk mendapatkan ukuran file yang dapat dibaca manusia.
sumber
Saya mencari yang sama dan menemukan solusi bawaan WordPress ini.
Lihat selengkapnya di
wp_get_attachment_metadata()
sumber
Untuk audio setidaknya, ukuran file disimpan sebagai "metadata".
Ini mungkin tidak menjadi kasus untuk gambar dan video.
sumber