Holen Sie die Objekt-ID nach URL

Ich habe eine URL (wie die URL /sample-page/ ), ich brauche die entsprechende Objekt-ID. Wie?

Solutions Collecting From Web of "Holen Sie die Objekt-ID nach URL"

Probieren Sie diese function aus:

 url_to_postid( $url ); 

Der WordPress Codex ist dein Freund. Eine schnelle Google-Suche könnte die Antwort geliefert haben.

Verwenden Sie get_queried_object_id() einen Mapper für WP_Query::get_queried_object_id() .

Im Gegensatz zu url_to_postid() Sie die URL nicht kennen und sie funktioniert auch bei Taxonomien und benutzerdefinierten Post-Typen (wenn ich mich daran erinnere).

Für ein Anwendungsbeispiel siehe meine Antwort auf Aktuelle ID des Benutzers erhalten .

Die anderen Antworten sind gültig, aber nur um eine andere (normalerweise unbekannte, aber sehr nützliche) Methode hinzuzufügen, die von einer function namens get_page_by_path();

 $page =get_page_by_path('parent-page/sub-page'); 

Es ist erwähnenswert, dass der Pfadparameter sogar einen SLUG als Parameter annehmen kann. Beispiel:

 $page = get_page_by_path('your-slug-of-page-to-exclude'); wp_list_pages('exclude='.$page->ID.'&title_li='); 

Dann könnten Sie $page->ID

Ich hatte das gleiche Problem, nur mit benutzerdefinierten Post-Typen. Leider url_to_postid( $url ); arbeitet nicht mit benutzerdefinierten Typen, also habe ich diese function bwp_url_to_postid ($ url) verwendet . Diese function erweitert url_to_postid( $url ); mit benutzerdefinierten Beitragstypen arbeiten.

Wenn Sie den Permalink der URL haben, dann:

 < ?php $postLink = get_permalink($post_object->ID); ?> < ?php $postId = bwp_url_to_postid($link); ?> < ?php echo $postId ?>