Ich möchte ein Bild erhalten, indem ich einen bestimmten Slug spezifiziere und dann diese Adresse im Bild-Quellcode wiedergebe.
Der Slug für das Bild wäre "book-site-header"
Ich habe die get_wp_attachment- und get_wp_attachment_metadata im WordPress-Codex durchgesehen, aber weder erwähnt noch erwähnt. Slugs müssen eindeutig sein und in der Datenbank gespeichert werden, damit sie anhand des Slugs gefunden und die zugehörige Datei-URL abgerufen werden können.
Ein Anhang ist nur ein Beitrag mit dem post_status
= inherit
und dem post_type
= attachment
, kann also mit WP_Query
oder get_posts
abgefragt werden.
Beachten Sie, dass slug (post_name
) für jeden Beitragstyp eindeutig ist .
$_header = get_posts('post_type=attachment&name=book-site-header&posts_per_page=1&post_status=inherit');
$header = $_header ? array_pop($_header) : null;
$header_url = $header ? wp_get_attachment_url($header->ID) : '';
sie können auch den obigen Code verwenden, um Ihre eigene benutzerdefinierte Funktion zu erstellen
function get_attachment_url_by_slug( $slug ) {
$args = array(
'post_type' => 'attachment',
'name' => sanitize_title($slug),
'posts_per_page' => 1,
'post_status' => 'inherit',
);
$_header = get_posts( $args );
$header = $_header ? array_pop($_header) : null;
return $header ? wp_get_attachment_url($header->ID) : '';
}
und dann
$header_url = get_attachment_url_by_slug('book-site-header');