wake-up-neo.net

so erhalten Sie die Seiten-ID einer Seite mit dem Seiten-Slug

Ich bin ziemlich neu in WordPress und ich habe mich gefragt, ob ich einen page id mit slug bekommen könnte. Ist es möglich, lass es mich wissen.

31
freaky

Benutze 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.

42
fuxia

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.

14
Ibnul Hasan

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; 
  }
9
Vikas Bhardwaj

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 von 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

3
<?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 Vorschlag ist hilfreich für jemanden.

0
Dipika

Viele Antworten hier, die zu 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 das Beitragsobjekt $ page 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

0
dbmpls