Ich bin ziemlich neu in WordPress und ich habe mich gefragt, ob ich eine page id
mit ihm bekommen könnte slug
. Ist es möglich, lass es mich wissen.
Ich bin ziemlich neu in WordPress und ich habe mich gefragt, ob ich eine page id
mit ihm bekommen könnte slug
. Ist es möglich, lass es mich wissen.
Antworten:
Verwendung get_page_by_path($page_path)
:
$page = get_page_by_path( 'about' );
echo get_the_title( $page );
Dies gibt ein reguläres Post-Objekt zurück.
$page = get_page_by_path( 'about/child' );
get_page_by_path
wird das post_name
Feld intern nicht verwendet post_slug
.
Ich habe das benutzt ..
function get_id_by_slug($page_slug) {
$page = get_page_by_path($page_slug);
if ($page) {
return $page->ID;
} else {
return null;
}
}
Hoffe das wird jemandem helfen.
get_page_by_path
gibt bereits null zurück…
Es wurde bereits in diesem Forum gefragt und beantwortet. Ich füge den gleichen Code von dort ein. 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;
}
Ich hatte Probleme mit der gewählten Antwort, als ich versuchte, den Code mehrmals auf derselben Seite zu verwenden. In jedem Fall wurden alle Inhalte meiner Seiten gleichzeitig angezeigt. Also habe ich wieder nachgedacht und mir diesen einfacheren Ansatz ausgedacht, der auf der Dokumentation des WordPress Codex basiert :
<?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 kann es immer noch für jemanden da draußen hilfreich sein; D
Viele Antworten hier, die übermäßig komplex erscheinen oder nicht beschreiben, wie die Seiten-ID speziell 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 $ page das Beitragsobjekt zugewiesen. Sobald Sie das Beitragsobjekt haben, können Sie eine der hier beschriebenen Informationen abrufen: https://codex.wordpress.org/Class_Reference/WP_Post
$page->ID
$page->post_status
$page->post_title
und vieles mehr