cómo obtener la identificación de página de una página usando page slug
7 respuestas
- votos
-
- 2013-06-13
Utilice
get_page_by_path($page_path)
:$page = get_page_by_path( 'about' ); echo get_the_title( $page );
Esto devolverá un objeto depublicaciónnormal.
Documentación:
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/-
¿Quépasa si lo que quieroes laidentificación de unapágina secundaria?What if it's a child page's id I want?
- 0
- 2013-06-13
- freaky
-
@freaky Lafuncióntoma soloel slug de lapágina,noel slugprincipal.Dado que lasbabosas son únicas,siempre obtendrá una solapágina.@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
-
Gracias,estáfuncionando ypara lapágina secundariatuve quenavegar como hits `$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
-
Solopara aclarar,`get_page_by_path` usael campo`post_name`internamente,no `post_slug`.Just to clarify, `get_page_by_path` uses the `post_name` field internally, not `post_slug`.
- 0
- 2018-04-09
- colefner
-
Para ser claros,esto usa la ruta de lapágina ynoelnombre de lapágina,¿correcto?Luego,en unapágina llamada "Acerca denosotros",el argumento debería ser "Acerca denosotros",¿correcto?sinbarrasiniciales ofinales?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
Heestado usandoesto ...
function get_id_by_slug($page_slug) { $page = get_page_by_path($page_slug); if ($page) { return $page->ID; } else { return null; } }
Espero queesto ayude a alguien.
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.
-
¿Por quéenvolverloen unafunción?`get_page_by_path` ya devuelvenulo ...Why wrapping it in a function? `get_page_by_path` already returns null …
- 0
- 2019-03-01
- GDY
-
Debido a que lapregunta OP quiere devolver la ID,noel objeto de lapágina.Because the OP question wants to return ID, not the page object.
- 0
- 2019-10-16
- user1158023
-
- 2013-06-13
Ya se hapreguntado y respondidoen esteforo.Estoypegandoelmismo código desde allí. Utiliceestafunciónpara recuperar laidentificación de lapágina.
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
Tuveproblemas con la respuestaelegida alintentar usarel código varias vecesen lamismapágina.Seguíamostrandotodoel contenido demispáginas almismotiempoen todos los casos.Así que volví apensar y seme ocurrióesteenfoquemás simplebasadoen la documentación 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(); ?>
Tal veztodavíapueda ser útilpara alguien; 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
Aquí haymuchas respuestas queparecen demasiado complejas o queno describen cómo obtenerespecíficamenteel ID depágina.
$page = get_page_by_path("your-page-slug"); if ($page) { $page_id = $page->ID; echo $page_id; }
En la descripción anterior,hemos asignadoel objeto depublicación a $page. Una vez quetengael objeto depublicación,puede obtener lainformación descrita aquí: https://codex.wordpress.org/Class_Reference/WP_Post
$page->ID $page->post_status $page->post_title
ymuchomás
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
Hay unafunción url_to_postid desde WordPress v1.0.0 :) Estatareaesmásfácil de lograr usandoestafunción.
Cuando lapáginaes unapágina denivel superior,solo se debe dar slug.
p.ej.
url_to_postid('slug');
Cuando lapáginaestáen unnivel dejerarquíamásbajo (es decir,tiene unpadre),debe anteponerel slugprincipal divididopor unabarrainclinada deestamanera:
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; } } ?>
Espero queesta sugerencia sea útilpara alguien.
<?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.
Soybastantenuevoen WordPress yme preguntaba sipodría obtener un
page id
con suslug
.¿Esposible,hágamelo saber?