Ein Anhang ist ein Beitrag
Die Beitragstabelle enthält Informationen zum Anhangsposten .
In WordPress hat jedes hochgeladene Medium einen eigenen Post-Eintrag, wo post_type
ist 'attachment'
und post_status
ist 'inherit'
.
Tatsächlich können Sie Anhangsposttypen mithilfe von Funktionen abrufen, mit denen andere Posttypen wie Post, Seite oder ein beliebiges CPT abgerufen werden.
Dazu gehört WP_Query
, get_posts()
und get_post()
.
Was ist in der posts
Tabelle
Für jeden Anhangsposten
post_title
Die Spalte wird für den Titel des Anhangs verwendet
post_excerpt
wird für die Beschriftung von Anhängen verwendet
post_content
wird für die Beschreibung der Anhänge verwendet
Beachten Sie, dass post_parent
der Beitragstyp des Anhangs möglicherweise einen hat , der auf die ID des Beitrags verweist, von dem der Anhang hochgeladen wurde.
Zum Beispiel:
get_posts( 'post_type=attachment&post_parent=10' );
Rufen Sie alle Post-Objekte für Anhänge ab, die von der Bearbeitungsseite des Posts mit ID geladen wurden 10
.
Ein Anhang ist nicht nur ein Beitrag
Es gibt jedoch Informationen für Medien (insbesondere Bilder), die einfach nicht in die Beitragstabelle passen.
Alle diese Informationen werden in der Postmeta-Tabelle gespeichert, wobei sich die post_id
Spalte auf die Anhangszeile in der Posts-Tabelle bezieht.
Was ist in der postmeta
Tabelle
Das "alt"
Attribut wird beispielsweise in einem Metafeld gespeichert, das den Schlüssel enthält '_wp_attachment_image_alt'
.
Das Metafeld mit Schlüssel '_wp_attached_file'
enthält den relativen Pfad (zum Inhaltsordner) der hochgeladenen Datei.
Dies wird verwendet , um die Befestigung URL und den Pfad zu bauen, in Funktionen wie wp_get_attachment_url()
, wp_get_attachment_image_src()
, get_attached_file()
und so weiter.
Schließlich '_wp_attachment_metadata'
enthält das Feld verschiedene Informationen (in einem serialisierten Array in der Datenbank):
- Die Bildgröße (unter Tasten
'width'
und 'height'
)
- Informationen zu Zwischengrößen
Zwischengrößen
Tatsächlich erstellt WordPress jedes Mal, wenn ein Bild hochgeladen wird, verschiedene Kopien des Bildes in verschiedenen Größen.
Bitte lesen Sie diese Antwort für weitere Details.
Der Schlüssel "sizes"
im '_wp_attachment_metadata'
Feld enthält ein Array mit Informationen zu allen generierten Bildern: der erstellten Datei, der Größe (Breite und Höhe) usw.
Beachten Sie, dass die bevorzugte Methode zum Abrufen von Informationen '_wp_attachment_metadata'
nicht die Verwendung der allgemeinen, get_post_meta()
sondern der spezifischen Methode ist wp_get_attachment_metadata()
, da dadurch ein Filter ausgelöst wird.
Wenn Sie an Informationen zu einem bestimmten generierten Bild interessiert sind, ist die Funktion image_get_intermediate_size()
hilfreich.
Verwenden Sie bestimmte Funktionen
Wenn Sie Informationen zu einem Anhang benötigen, verwenden Sie im Allgemeinen die spezifischen Funktionen und vermeiden Sie das Abrufen von Daten aus der Datenbank. Es ist schwieriger und löst keine Hooks aus, wodurch möglicherweise die Kompatibilität von Kern, Thema und Plugins beeinträchtigt wird.
Es gibt viele Funktionen in WordPress, um mit Anhängen zu arbeiten. Dies sollte Ihnen eine Idee geben ...
In dieser Antwort sind jedoch alle Hauptfunktionen aufgeführt.