So erhalten Sie die Seiten-ID einer Seite mithilfe des Seiten-Slugs
7 Antworten
- Stimmen
-
- 2013-06-13
Verwenden Sie
get_page_by_path($page_path)
:$page = get_page_by_path( 'about' ); echo get_the_title( $page );
Diesgibt ein reguläres Post-Objekt zurück.
Dokumentation:
https://developer.wordpress.org/reference/functions/get_page_by_path/
https://developer.wordpress.org/reference/functions/get_the_title/Use
get_page_by_path($page_path)
:$page = get_page_by_path( 'about' ); echo get_the_title( $page );
This will return a regular post object.
Documentation:
https://developer.wordpress.org/reference/functions/get_page_by_path/
https://developer.wordpress.org/reference/functions/get_the_title/-
Wasist,wennes sich um die IDeiner untergeordneten Seite handelt,dieichmöchte?What if it's a child page's id I want?
- 0
- 2013-06-13
- freaky
-
@freaky Die Funktion verwendetnur den Seiten-Slug,nicht den übergeordneten Slug.Da Schneckeneinzigartig sind,erhalten Sieimmernureine Seite.@freaky The function takes just the page slug, not the parent slug. Since slugs are unique, you will always get just one page.
- 2
- 2013-06-13
- fuxia
-
Danke,esfunktioniert undfür die untergeordnete Seitemussteich wie Treffernavigieren `$page=get_page_by_path ('about/child');`Thank you it is working and for child page I had to navigate like hits `$page = get_page_by_path( 'about/child' );`
- 3
- 2013-06-13
- freaky
-
Zur Verdeutlichung verwendet "get_page_by_path"intern das Feld "post_name" undnicht "post_slug".Just to clarify, `get_page_by_path` uses the `post_name` field internally, not `post_slug`.
- 0
- 2018-04-09
- colefner
-
Umganz klar zu sein,verwendet dies den Seitenpfad undnicht den Seitennamen,richtig?Dann sollteeine Seitemit dem Namen "Über uns" das Argument "Über uns" sein,richtig?ohne anfängliche odernachfolgende Schrägstriche?Just to be clear, this uses the page path and not the page name, correct? Then a page named "About us" the argument should be "about-us", correct? with no beginning or trailing slashes?
- 0
- 2018-07-25
- user658182
-
Ja,@ user658182Yes, @user658182
- 0
- 2018-07-25
- fuxia
-
- 2015-03-13
Ich habe dasbenutzt ..
function get_id_by_slug($page_slug) { $page = get_page_by_path($page_slug); if ($page) { return $page->ID; } else { return null; } }
Hoffe,das hilftjemandem.
I've been using this ..
function get_id_by_slug($page_slug) { $page = get_page_by_path($page_slug); if ($page) { return $page->ID; } else { return null; } }
Hope this will help someone.
-
Warumin eine Funktioneinwickeln?`get_page_by_path`gibt bereitsnull zurück…Why wrapping it in a function? `get_page_by_path` already returns null …
- 0
- 2019-03-01
- GDY
-
Da die OP-Frage die ID zurückgebenmöchte,nicht das Seitenobjekt.Because the OP question wants to return ID, not the page object.
- 0
- 2019-10-16
- user1158023
-
- 2013-06-13
Es wurdebereitsin diesem Forumgefragt undbeantwortet.Ichfüge dengleichen Code von dortein. Verwenden Sie diese Funktion,um die Seiten-ID abzurufen.
function get_page_by_slug($page_slug, $output = OBJECT, $post_type = 'page' ) { global $wpdb; $page = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_name = %s AND post_type= %s AND post_status = 'publish'", $page_slug, $post_type ) ); if ( $page ) return get_post($page, $output); return null; }
It has been already asked and answered on this forum. I am pasting the same code from there. Use this function to retrieve page id.
function get_page_by_slug($page_slug, $output = OBJECT, $post_type = 'page' ) { global $wpdb; $page = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_name = %s AND post_type= %s AND post_status = 'publish'", $page_slug, $post_type ) ); if ( $page ) return get_post($page, $output); return null; }
-
- 2016-10-08
Ich hatte Problememit dergewählten Antwort,alsich versuchte,den Codemehrmals auf derselben Seite zu verwenden.Es wurdenin jedem Fall alle Inhaltemeiner Seitengleichzeitig angezeigt.Also habeich wiedernachgedacht undmir dieseneinfacheren Ansatz ausgedacht,der auf der WordPress Codex -Dokumentationbasiert:
<?php $query = new WP_Query( array( 'pagename' => 'about-me' ) ); while ( $query->have_posts() ) { $query->the_post(); echo '<h2>'. get_the_title() .'</h2>'; the_content(); } wp_reset_postdata(); ?>
Vielleicht kannesfürjemanden da draußennoch hilfreich sein; D
I had problems with the chosen answer when trying to use the code several times in the same page. It kept on displaying all of my pages content at the same time in every instance. So I went back to thinking and came up with this simpler approach based on the WordPress Codex's documentation:
<?php $query = new WP_Query( array( 'pagename' => 'about-me' ) ); while ( $query->have_posts() ) { $query->the_post(); echo '<h2>'. get_the_title() .'</h2>'; the_content(); } wp_reset_postdata(); ?>
Maybe it can still be helpful for somebody out there ;D
-
- 2019-04-05
Viele Antworten hier,die übermäßig komplexerscheinen odernichtbeschreiben,wie die Seiten-ID spezifisch abgerufen werden kann.
$page = get_page_by_path("your-page-slug"); if ($page) { $page_id = $page->ID; echo $page_id; }
In der obigen Beschreibung haben wir das Post-Objekt $page zugewiesen. - Sobald Sie das Post-Objekt haben,können Sieeine der hierbeschriebenen Informationen abrufen: https://codex.wordpress.org/Class_Reference/WP_Post
$page->ID $page->post_status $page->post_title
und vielesmehr
A lot of answers here that seem overly complex, or don't describe how to get the page ID specifically.
$page = get_page_by_path("your-page-slug"); if ($page) { $page_id = $page->ID; echo $page_id; }
In the above description we've assigned the post object to $page - Once you have the post object you can get any of the info described here: https://codex.wordpress.org/Class_Reference/WP_Post
$page->ID $page->post_status $page->post_title
and a lot more
-
- 2020-08-31
Seit WordPress v1.0.0gibt eseine Funktion url_to_postid :) Diese Aufgabeistmit dieser Funktion ameinfachsten zu lösen.
Wennes sichbei der Seite umeine Seite der obersten Ebene handelt,mussnurein Slug angegeben werden.
z.B.url_to_postid('slug');
Wenn sich die Seitein einerniedrigeren Hierarchieebenebefindet (d. h. sie hatein übergeordnetes Element),müssen Sie den übergeordneten Slug voranstellen,der durcheinen Schrägstrich wiefolgtgeteilt wird:
url_to_postid('parent-slug/child-slug');
There is a function url_to_postid since WordPress v1.0.0 :) This task is easiest to achieve by using this function.
When page is top-level page, only slug has to be given.
e.g.
url_to_postid('slug');
When the page is in lower hierarchy level (i.e. it has parent) you have to prepend parent slug divided by slash like so:
url_to_postid('parent-slug/child-slug');
-
- 2018-05-31
<?php function get_page_ID_by_slug( $slug ) { $page = get_page_by_path( $slug ); if ( $page ) { return (int) $page->ID; } else { return null; } } ?>
Ich hoffe,dieser Vorschlagistfürjemanden hilfreich.
<?php function get_page_ID_by_slug( $slug ) { $page = get_page_by_path( $slug ); if ( $page ) { return (int) $page->ID; } else { return null; } } ?>
I hope this suggestion is helpful for someone.
Ichbin ziemlichneuin WordPress und habemichgefragt,obicheine
page id
mit demslug
bekommen könnte.Istesmöglich,lassen Sieesmichbitte wissen.