Afbeelding ID van URL in WordPress
Soms is het nodig om de afbeelding ID van een URL in WordPress te verkrijgen. Bijvoorbeeld als je een lijst met links hebt van afbeeldingen maar je hebt de ID nodig om dit juist in een plugin of theme te verwerken. In WordPress is hier voor namelijk nog geen goede functie bekend.
Dit komt Meestal voor wanneer de informatie verkeerd is opgeslagen in bijvoorbeeld voor een meta-veld. Het kan zijn dat de URL wordt opgeslagen en niet de ID van van de afbeelding. Dit kan zijn door een plugin of thema. Als dit niet is op te lossen op een andere manier dan is hier de oplossing hiervoor.
In andere gevallen worden soms de links gebruikt voor bijvoorbeeld een slider en in de slider wordt alleen de URL gebruikt. Op die manier kan het handig zijn als je de ID kan verkrijgen aan de hand van de URL van een afbeelding. Met de ID kan je namelijk veel meer informatie verkrijgen over de afbeelding, zoals hoogte en breedte. De hoogte en breedte is nodig om de HTML voor een afbeelding juist op te zetten.
Niet de mooiste manier maar als het niet kan zoals het moet, dan moet het maar zoals het kan.
Afbeelding ID van URL in WordPress
In WordPress kan je via Media in het dashboard de ID vinden van een afbeelding op je website. Hiervoor selecteer je de afbeelding in de media bibliotheek. In de browser zie je dan de link waar aan het eind staat item=???. Dit is de ID van de afbeelding.
Als het dynamisch gedaan moet worden voor bijvoorbeeld in het thema of in een plugin dan is er een andere oplossing.
Plaats volgende code in functions.php. Plaats het in een child-theme als je een bestaande thema wilt aanpassen.
<?php
my_id_from_src_function($image_src) {
global $wpdb;
$query = "SELECT ID FROM {$wpdb->posts} WHERE guid='$image_src'";
$id = $wpdb->get_var($query);
return $id;
}
?>
Nu is het mogelijk deze functie te gebruiken in het thema. Deze functie kan op de volgende manier gebruikt worden.
<?php
$url = "https://www.cornelisdeleeuwvanweenen.nl/wp-content/uploads/logo-cornelis-de-leeuw-van-weenen-page-speed.png";
$url_id = my_id_from_src_function($url);
?>
Probeer altijd eerst om het probleem direct bij de bron op te lossen. In dit geval is het beter te kijken om de afbeelding ID op te slaan en niet de URL. Helaas is dit niet altijd mogelijk maar daarvoor heb je nu een oplossing gevonden.

Vraag vrijblijvende een offerte aan.
Waarschijnlijk zijn er meerdere redenen waarom men het ID nodig heeft van een afbeelding en alleen de URL kan verkrijgen. Zelf ken ik niet veel situaties waar dit voor nodig zou kunnen zijn maar wanneer het nodig is, is het altijd handig deze functie bij de hand te hebben.
Hopelijk helpt dit en misschien zal WordPress hier ooit een nette functie voor maken.
Er zijn nog geen reacties. Wees de eerste..!!