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);
 ?>
Het is misschien niet de netste manier om dit te doen maar er is nog steeds geen goede WordPress functie voor om dit anders te doen. Wees dus voorzichtig met hoe je deze functie gebruikt. Als het mogelijk is om het op een andere manier te doen dan is dat altijd beter. Maar als het niet kan zoals het moet dan moet het maar zoals het kan.

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.

Afbeelding ID van URL in WordPress Freelance website ontwikkeling

Vraag vrijblijvende een offerte aan.

Offert Aanvragen

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..!!

Reageer

E-mailadres wordt niet gepubliceerd.
Verplichte velden zijn gemarkeerd met *

*
*
*