Wie bekomme ich die Post-ID von Permalink (hübsche URL)?

Lesezeit: 4 Minuten

Wie bekomme ich die Post-ID von Permalink (hübsche URL)?

  • @Yuliy: Das ist wahrscheinlich die beste Antwort hier; Ich schlage vor, Sie machen es zu einer tatsächlichen Antwort und nicht nur zu einem Kommentar. 🙂

    – bkat

    2. November 2010 um 5:15 Uhr

  • @Yuliy Ich habe es nicht gefunden, kannst du helfen?

    – Jeaf Gilbert

    2. November 2010 um 5:24 Uhr

  • @Jeaffrey Gilbert – Können Sie näher erläutern, was Sie eigentlich erreichen wollen? Es gibt mehrere “richtige” Antworten, aber jede ist anders und hängt davon ab, wie Ihre Situation ist und was Sie erreichen möchten. Übrigens, vielleicht möchten Sie diese Frage auf der Schwesterseite von SO posten WordPress Answers: wordpress.stackexchange.com.

    – MikeSchinkel

    2. November 2010 um 9:00 Uhr

  • @MikeSchinkel Ich versuche, die Post-ID von einem benutzerdefinierten Permalink (%category%/%postname%) per Ajax-Aufruf zu erhalten. +1 für die Seite.

    – Jeaf Gilbert

    2. November 2010 um 13:05 Uhr

  • @Jeaffrey Gilbert – Meinst du mit AJAX-Aufruf in Javascript oder in PHP? Ich kann deinem Kontext immer noch nicht folgen. Können Sie einen Teil Ihres Codes posten, der zeigt, wo Sie die Post-ID erhalten müssen?

    – MikeSchinkel

    3. November 2010 um 3:17 Uhr

Benutzeravatar von kovshenin
kowschenin

Sie sollten damit einverstanden sein url_to_postid()[see documentation] die sich in rewrite.php befindet. Ich habe es letztes Jahr in einem Plugin von mir verwendet, funktioniert wie ein Zauber.

  • Brunnen. Jetzt ist es zumindest dokumentiert. codex.wordpress.org/Function_Reference/url_to_postid

    – vmassuchetto

    11. April 2012 um 11:27 Uhr

  • Sie sollten auch die Erwähnungen in der Dokumentation beachten: „Beachten Sie, dass dies die Beitrags-ID für benutzerdefinierte Beitragstypen nicht zurückgibt.“

    – Mazatek

    11. November 2012 um 12:47 Uhr

  • Ab WordPress 3.7.0 werden auch benutzerdefinierte Beitragstypen unterstützt. Einzelheiten finden Sie unter dem obigen Link.

    – Simo A.

    28. Dezember 2013 um 21:10 Uhr

Benutzeravatar von mems
Speicher

Dafür habe ich eine eigene (und dokumentierte) Funktion:

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

Ruft eine Seite anhand ihres Pfads ab.

Wo $page_path ist

[…] das Äquivalent der ‘pagename’-Abfrage, wie in: ‘index.php?pagename=parent-page/sub-page’.

Sehen Funktion Referenz/Seite nach Pfad abrufen

Beispiel:

// 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');

  • Sie müssen nur den Beitragstyp definieren (siehe $post_type Streit: codex.wordpress.org/Post_Types)

    – mems

    28. März 2013 um 0:19 Uhr


  • Sie sollten das bearbeiten. Ihre Antwort ist jetzt die beste, da sie Unterstützung für custom_post_types und Posts hinzugefügt oder zumindest dokumentiert haben … Dies ist die Lösung, die ich selbst verwende. Vielen Dank.

    – Jake

    29. März 2013 um 17:09 Uhr


  • Genial. hoffentlich hilft es auch anderen.

    – Jake

    30. März 2013 um 21:40 Uhr

Benutzeravatar von deweydb
deweydb

Aktualisierung 2022

url_to_postid( string $url )

Als Referenz:
http://codex.wordpress.org/Function_Reference/url_to_postid

  • Bitte fügen Sie mehr als einen Link unter dem Wort “this” hinzu, um zu beschreiben, was sich hinter dem Link verbirgt.

    – jnhghy – Alexandru Jantea

    11. Juli 2015 um 6:21 Uhr

  • der Link ist tot

    – Adil Soomro

    16. Mai um 17:03 Uhr

  • @AdilSoomro tut mir leid, hat dies vor langer Zeit beantwortet, der Link lebt noch auf dem Weg zurück, wird meine Antwort mit weiteren Details aktualisieren. web.archive.org/web/20200729211606/http://betterwp.net/…

    – deweydb

    17. Mai um 19:14 Uhr

Benutzeravatar von jovaniwayne
jovaniwayne

url_to_postid() ab 3.7.0: Diese Funktion unterstützt jetzt benutzerdefinierte Beitragstypen (siehe Trac-Tickets #19744, #25659).

Ich habe ein Multisite-WP, also gehe ich aus irgendwelchen Gründen einmal durch die Blogs in einigen Blogs url_to_postid() funktioniert, in anderen Blogs auf dem Post der gleichen Art funktioniert es zwar nicht get_page_by_path() funktioniert wie Charme. Also habe ich es so gemacht, was vielleicht nicht perfekt ist:

$parsed_url = wp_parse_url( $url ); // Parse URL
$slug = substr($parsed_url['path'], 1 ); // Trim slash in the beginning

$post_id = url_to_postid( $slug ); // Attempt to get post ID

if ( ! $post_id ) { // If it didn't work try to get it manually from DB
    $post_query_result = 
        $wpdb->get_row("SELECT ID FROM {$wpdb->prefix}posts WHERE post_name="{$slug}"");
    $analog_id = (int) $post_query_result->ID;
}

Benutzeravatar von jovaniwayne
jovaniwayne

das kannst du auch probieren:

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

Katze ist diejenige, nach der Sie suchen = der Permalink; Tier ist der benutzerdefinierte Beitragstyp,

Benutzeravatar von Sulthan Allaudeen
Sulthan Allaudieen

bitte verwende

  $postid = url_to_postid( $url );

um die ID eines Anhangs abzurufen.

Es ist erforderlich, dass die bereitgestellte URL das Format von hat example.com/?attachment_id=N und funktioniert nicht mit der vollständigen URL, um die ID von der vollständigen URL zu erhalten.

1407110cookie-checkWie bekomme ich die Post-ID von Permalink (hübsche URL)?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy