WordPress:

anony

Neu angemeldet
Registriert
30 Nov. 2014
Beiträge
47
Hi,

wie kann ich denn in WP nur den hinteren Teil einer Thumbnail-URL ausgeben, also nur /2015/01/bild.jpg zum Beispiel.

Habe es mit folgendem CodE:
[src=php]<?php $thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'thumbnail_size' );
$url = $thumb['0']; echo ("$url"); ?>[/src]

Dort bekomme ich aber die gesamte URL, also

Danke!! :)
 
PHP:
Expand Collapse Copy
$thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'thumbnail_size' );
echo parse_url($thumb[0], PHP_URL_PATH);
Siehe auch .
 
Zuletzt bearbeitet:
  • Thread Starter Thread Starter
  • #3
danke, aber leider bekomme ich damit garkeine Ausgabe mehr ... :(

[src=php]<?php $thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'thumbnail_size' );
echo parse_url($thumb, PHP_URL_PATH); ?>[/src]

--- [2015-01-16 11:47 CET] Automatisch zusammengeführter Beitrag ---

Update: Mit folgendem funktioniert's fast:
[src=php]<?php $thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'thumbnail_size' );
$url = $thumb['0']; echo parse_url($url, PHP_URL_PATH); ?>[/src]

leider bekomme ich jetzt so
/wp-content/uploads/2015/01/bild.jpg

Heißt, das /wp-content/uploads/ muss auch noch weg, ich brauche nur /2015/01/bild.jpg ... :/ wie? ^^

--- [2015-01-16 12:12 CET] Automatisch zusammengeführter Beitrag ---

Update2:
Habe es nun folgendermaßen:
[src=php]$thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'thumbnail_size' );
$url = $thumb['0']; $blubb = parse_url($url, PHP_URL_PATH); echo (substr("$blubb", 19));[/src]

Da der vordere Teil immer gleich ist, funktioniert es - aber wie löse ich es "professioneller"?
 
Zuletzt bearbeitet:
danke, aber leider bekomme ich damit garkeine Ausgabe mehr ... :(
Stimmt, die Indexierung des von [kw]wp_get_attachment_image_src()[/kw] zurückgelieferten Arrays fehlte. Vielen Dank für den Hinweis.

Habe es nun folgendermaßen:
[src=php]$thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'thumbnail_size' );
$url = $thumb['0']; $blubb = parse_url($url, PHP_URL_PATH); echo (substr("$blubb", 19));[/src]

Da der vordere Teil immer gleich ist, funktioniert es - aber wie löse ich es "professioneller"?
Wenn du einen bestimmten Teil des URI-Pfades auslesen möchtest, wirst du immer ein bestimmtes URI-Pfad-Format voraussetzen müssen. Allerdings könntest sicherstellen, dass der URI tatsächlich mit `/wp-contents/uploads/` beginnt, etwa durch eine if-Bedingung
PHP:
Expand Collapse Copy
$thumb = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'thumbnail_size');
$uripath = parse_url($thumb[0], PHP_URL_PATH);
if(strpos($uripath,'/wp-contents/uploads/') === 0) 
    echo substr($uripath, 19);
Etwas eleganter wäre die WordPress-spezifische Lösung, über den URI-Pfad zum Upload-Verzeichnis abzufragen und diesen anstelle des statischen Strings zu benutzen.
 
Zurück
Oben