Astuces & Snippets WordPress

Récupérer l'ID d'un article à partir de son adresse URL

Découvrez la fonction WordPress url_to_postid() qui permet de récupérer l'ID d'un post en fonction de son adresse URL.

S'inscrire à la newsletter

WordPress permet de récupérer les informations d’un article à l’aide de différentes fonctions. Parmi elles, il existe la fonction url_to_postid() qui permet de retrouver l’ID d’un post à partir de son adresse URL.

Voici un exemple d’utilisation :

// On récupère l'ID du post
$post_id = url_to_postid( 'http://example.com/mon-article/' );

// On récupère l'ensemble des informations du post
$post = get_post( $post_id );

Pour le moment, je n’ai pas trouvé de cas pratique pour cette fonction, mais il peut être important de la connaître en cas de besoin.

Si vous avez des idées d’utilisation, partagez-les en laissant un commentaire.

13 commentaires
  1. dmsr le

    idée d’utilisation: un tooltip avec appel ajax pour afficher quelques infos au survol des liens internes…

  2. Julio Potier (BoiteAWeb.fr) le

    @DMSR : Oui et non, si dans un article tu as l’intention d’utiliser l’id du post pour récupérer quoique ce soit, mieux vaut poser en js l’ID du post pour le récupérer facilement.
    Evitez de l’utiliser car elle est très gourmande, il faut vraiment que ça soit obligatoire.
    Par exemple WordPress l’utilise pour savoir de quel ID de post vous provenez (referer http), ou encore dans les URLs de pingback, savoir si l’image attachée (attachment est un post type) est une image locale ou non (si elle a un ID, alors elle est locale) et enfin pour poster un commentaire en XML-RPC.
    Voyez, c’est vraiment des cas spéciaux, rares et particuliers.
    Merci à Jo de m’avoir fait découvrir cette fonction, je promets de ne pas l’utiliser rapidement ! Attention à toi Jo, chercher d’abord une alternative pour contourner cette fonction ;)

  3. Germain le

    Merci pour cet article.
    Récupérer les ID de mes articles m’intéressent beaucoup. En effet, je possède un site sur de l’actu foot, et j’ai pour ambition de me faire référencer dans Google News. Mais pour cela, il faut un ID dans les URLs. Chose que je n’ai pas faite au départ avec mon site.

    Il faut donc que je fasse des redirections de mes URLs (sans les IDs) vers les nouvelles (que j’ai balisé avec un permalien personnalisé : %postname%-%post_id%.

    Est-ce que vous pensez qu’il s’agit du même ID ?
    Et si oui, voilà une bonne utilisation :)

    Merci de vos réponses

  4. Germain le

    Cool, donc je vais pouvoir l’utiliser; mais je dois mettre cette fonction ou pour récupérer les IDs ?

  5. Germain le

    Je pense que je vais faire les redirection via le plugin « Redirection » car j’ai quelques 400 articles à rediriger.
    Ma structure actuelle des URLs tu veux dire ? Pour le moment c’est %postname%.

  6. marcoboulo le

    Bonjour,

    Petit bémol, url_to_postid() NE FONCTIONNE PAS AVEC LES CUSTOM POST TYPE

    J’ai vu quelque part que cela serait corrigé avec la version 3.7 de wp.

  7. Florian le

    Bonjour,

    Existe t’il une méthode pour faire l’inverse ?

    En effet je possède des id d’articles, a partir de cela je peut afficher le titre, image… mais impossible pour moi d’avoir l’url.
    sachant que je ne souhaite pas avoir l’id dans le titre et que je fait un affichage hors boucle WP donc pas de permalink =/

    Merci de votre aide.

  8. inoxis91 le

    En effet c’était simple ! merci bien.

Poster un commentaire

Les champs obligatoires sont indiqués avec *

Ici, on utilise KeywordLuv. Entrez YourName@YourKeywords dans le formulaire "Pseudo" pour bénéficier des avantages SEO d'un mot-clef ciblé. Attention, tous les commentaires non-constructifs ne bénéficieront pas d'une ancre optimisée.

Prévenez moi de tous les nouveaux commentaires par email.

Ne plus afficher|Fermer
Suivez-nous sur Facebook !