come ottenere l'ID di una pagina usando lo slug di pagina
7 risposta
- voti
-
- 2013-06-13
Usa
get_page_by_path($page_path)
:$page = get_page_by_path( 'about' ); echo get_the_title( $page );
Questo restituirà unnormale oggettopost.
Documentazione:
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/-
E sefosse l'ID di unapaginafiglio che voglio?What if it's a child page's id I want?
- 0
- 2013-06-13
- freaky
-
@freaky Lafunzione accetta solo lo slug dellapagina,non lo sluggenitore.Poichégli slug sono unici,otterrai sempre una solapagina.@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
-
Grazie stafunzionandoe per lapaginafiglio ho dovutonavigare come successi `$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
-
Giustoper chiarire,`get_page_by_path` usainternamenteil campo`post_name`,non `post_slug`.Just to clarify, `get_page_by_path` uses the `post_name` field internally, not `post_slug`.
- 0
- 2018-04-09
- colefner
-
Giustoperessere chiari,questo utilizzailpercorso dellapaginae nonilnome dellapagina,giusto?Quindiin unapagina denominata "Chi siamo" l'argomento dovrebbeessere "chi-noi",corretto?senzabarreiniziali ofinali?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
-
Sì,@ user658182Yes, @user658182
- 0
- 2018-07-25
- fuxia
-
- 2015-03-13
Sto usando questo ..
function get_id_by_slug($page_slug) { $page = get_page_by_path($page_slug); if ($page) { return $page->ID; } else { return null; } }
Spero che questopossa aiutare qualcuno.
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.
-
Perché avvolgerloin unafunzione?`get_page_by_path` restituiscegiànull ...Why wrapping it in a function? `get_page_by_path` already returns null …
- 0
- 2019-03-01
- GDY
-
Perché la domanda OP vuole restituire l'ID,non l'oggetto dellapagina.Because the OP question wants to return ID, not the page object.
- 0
- 2019-10-16
- user1158023
-
- 2013-06-13
Ègià stato chiestoe risposto su questoforum.Stoincollando lo stesso codice da lì. Utilizza questafunzioneper recuperare l'ID dellapagina.
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
Ho avutoproblemi con la risposta scelta duranteiltentativo di utilizzareil codicepiù voltenella stessapagina.Ha continuato a visualizzaretuttii contenuti dellemie pagine contemporaneamentein ogni caso.Quindi sonotornato apensaree hotrovato questo approcciopiù semplicebasato sulla documentazione del WordPress Codex :
<?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(); ?>
Forsepuò ancoraessere utileper qualcuno làfuori; 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
Molte risposte qui che sembranoeccessivamente complesse o chenon descrivono come ottenere l'IDpaginain modo specifico.
$page = get_page_by_path("your-page-slug"); if ($page) { $page_id = $page->ID; echo $page_id; }
Nella descrizioneprecedente abbiamo assegnato l'oggettopost a $page - Una volta ottenuto l'oggettopost,puoi ottenere una qualsiasi delleinformazioni descritte qui: https://codex.wordpress.org/Class_Reference/WP_Post
$page->ID $page->post_status $page->post_title
e molto altro ancora
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
Esiste unafunzione url_to_postid apartire da WordPress v1.0.0 :) Questa attività èpiù semplice da ottenere utilizzando questafunzione.
Quando lapagina è diprimo livello,deveesserefornito solo lo slug.
ades.
url_to_postid('slug');
Quando lapagina sitrovanel livellogerarchicoinferiore (cioè ha ungenitore) devi anteporre lo sluggenitore divisoperbarrain questomodo:
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; } } ?>
Spero che questo suggerimento sia utileper qualcuno.
<?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.
Sono abbastanzanuovo su wordpresse mi chiedevo sepotevo ottenere un
page id
conil suoslug
.Èpossibileperfavorefatemelo sapere.