Ich verwende den folgenden Vorlagencode, um Anhang-Links anzuzeigen:
$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);
}
aber nach dem Link muss ich die Dateigröße anzeigen. Wie kann ich das machen?
Ich schätze, ich könnte den Pfad der Datei (via wp_upload_dir()
und a substr()
von wp_get_attachment_url()
) bestimmen und aufrufen, filesize()
aber das scheint chaotisch zu sein, und ich frage mich nur, ob es eine in WordPress integrierte Methode gibt.
templates
attachments
Bobby Jack
quelle
quelle
Antworten:
Soweit ich weiß, hat WordPress nichts dafür eingebaut, ich würde einfach tun:
filesize( get_attached_file( $attachment->ID ) );
quelle
wp_upload_dir()
usw.!Ich habe dies zuvor in functions.php verwendet, um die Dateigröße in einem leicht lesbaren Format anzuzeigen:
Und dann in meiner Vorlage:
quelle
size_format()
undwp_convert_bytes_to_hr()
Ich würde tun:
Oder mit lesbarer Größe wie
423.82 KB
Verweise : get_attached_file () , filesize () , size_format ()
Hinweis: Definieren Sie Ihre
$attachment_id
quelle
Um die Größe einer Datei zu ermitteln, die über das Plugin für benutzerdefinierte Felder hinzugefügt wurde, habe ich Folgendes ausgeführt:
Stellen Sie einfach sicher, dass Sie den "Rückgabewert" des benutzerdefinierten Felds auf "Dateiobjekt" setzen.
quelle
Es gibt eine einfachere Lösung, um lesbare Dateigrößen zu erhalten.
quelle
Ich suchte das Gleiche und fand diese in WordPress integrierte Lösung.
Sehen Sie mehr an
wp_get_attachment_metadata()
quelle
Zumindest für Audio wird die Dateigröße als "Metadaten" gespeichert.
Dies ist bei Bildern und Videos möglicherweise nicht der Fall.
quelle