web-dev-qa-db-fra.com

Comment obtenir post-id de permalink (jolie URL)

Comment obtenir post-id de permalink (jolie URL)

35
Jeaf Gilbert

Cela devrait aller avec url_to_postid() [ voir documentation ] qui se trouve dans rewrite.php. Je l'ai utilisé dans un de mes plugins l'année dernière, fonctionne à merveille.

50
kovshenin

Ceci fonctionne pour les types d'article standard ET les types d'article personnalisés. url_to_postid () ne fonctionne que pour les messages réguliers.

9
deweydb

J'ai une fonction dédiée (et documentée) pour cela:

get_page_by_path( $page_path, $output, $post_type );

Récupère une page en fonction de son chemin.

$page_path est

[...] l'équivalent de la requête 'pagename', comme dans: 'index.php? pagename = page parent/sous-page'.

Voir Référence de fonction/get page par chemin

Exemple:

// Assume 'my_permalink' is a post.
// But all types are supported: post, page, attachment, custom post type, etc.
// See http://codex.wordpress.org/Post_Types
get_page_by_path('my_permalink', OBJECT, 'post');
8
mems

url_to_postid() à partir de 3.7.0: cette fonction prend désormais en charge les types de publication personnalisés (voir Tickets de Trac #19744, #25659).

1
jovaniwayne

vous pouvez essayer celui-ci aussi:

$post = get_page_by_path('cat',OBJECT,'animal'); 

le chat est celui que vous recherchez = le permalien; animal est le type de poste personnalisé,

0
jovaniwayne

veuillez utiliser 

  $postid = url_to_postid( $url );

pour récupérer l'ID d'une pièce jointe.

L'URL fournie doit obligatoirement être au format example.com/?attachment_id=N et ne fonctionnera pas avec l'URL complète pour obtenir l'ID de l'URL complète.

0