Używam następującego kodu szablonu, aby wyświetlić linki do załączników:
$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);
}
ale po linku muszę wyświetlić rozmiar pliku. W jaki sposób mogę to zrobić?
Zgaduję mogę określić ścieżkę do pliku (za pośrednictwem wp_upload_dir()
i substr()
od wp_get_attachment_url()
) i wywołanie filesize()
ale wydaje bałagan, a ja po prostu zastanawiasz się, czy jest jakiś sposób wbudowane w WordPressie.
templates
attachments
Bobby Jack
źródło
źródło
Odpowiedzi:
O ile mi wiadomo, WordPress nie ma w tym nic wbudowanego, po prostu zrobiłbym:
filesize( get_attached_file( $attachment->ID ) );
źródło
wp_upload_dir()
itp.!Użyłem tego wcześniej w functions.php, aby wyświetlić rozmiar pliku w łatwo czytelnym formacie:
A potem w moim szablonie:
źródło
size_format()
iwp_convert_bytes_to_hr()
Chciałbym zrobić :
Lub z czytelnym rozmiarem jak
423.82 KB
Odnośniki: get_attached_file () , filesize () , size_format ()
Uwaga: Zdefiniuj swój
$attachment_id
źródło
Aby znaleźć rozmiar pliku dodanego za pomocą wtyczki pól niestandardowych, zrobiłem to:
Upewnij się tylko, że ustawiłeś „Zwracaną wartość” pola niestandardowego na „Obiekt pliku”.
źródło
Istnieje prostsze rozwiązanie, aby uzyskać rozmiary plików czytelne dla człowieka.
źródło
Szukałem tego samego i znalazłem to wbudowane rozwiązanie WordPress.
Zobacz więcej na
wp_get_attachment_metadata()
źródło
Przynajmniej w przypadku dźwięku rozmiar pliku jest zapisywany jako „metadane”.
Może to nie dotyczyć obrazów i wideo.
źródło