Como obter o ID da página de uma página usando a página SLUG
7 respostas
- votos
-
- 2013-06-13
Use
get_page_by_path($page_path)
:$page = get_page_by_path( 'about' ); echo get_the_title( $page );
Isso retornará um objeto depostagem regular.
.
Documentação:
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 sefor umaidentidade de umapágina de criança queeu quero?What if it's a child page's id I want?
- 0
- 2013-06-13
- freaky
-
@Freaky Afunção leva apenas a lesma dapágina,não a slugpai.Como as lesmas são únicas,você sempreterá apenas umapá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
-
Obrigado Estáfuncionandoe para apágina da criança Eutive quenavegar como hits `$ Página=get_page_by_path ('Sobre/criança');`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
-
Apenasparaesclarecer,"get_page_by_path" usa o campo `post_name`internamente,não`post_slug`.Just to clarify, `get_page_by_path` uses the `post_name` field internally, not `post_slug`.
- 0
- 2018-04-09
- colefner
-
Apenaspara ser claro,isso usa o caminho dapáginae não onome dapágina,correto?Em seguida,umapágina chamada "sobrenós",o argumento deve ser "sobrenós",correto?sembarra de começo oufuga?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
-
Sim,@ user658182Yes, @user658182
- 0
- 2018-07-25
- fuxia
-
- 2015-03-13
Eutenho usadoisso ..
function get_id_by_slug($page_slug) { $page = get_page_by_path($page_slug); if ($page) { return $page->ID; } else { return null; } }
Espero queisso ajude alguém.
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 queenvolvê-loem umafunção?`get_page_by_path 'já retornanull ...Why wrapping it in a function? `get_page_by_path` already returns null …
- 0
- 2019-03-01
- GDY
-
Como apergunta op quer devolver o ID,não o objeto depágina.Because the OP question wants to return ID, not the page object.
- 0
- 2019-10-16
- user1158023
-
- 2013-06-13
Jáfoiperguntadoe respondeunestefórum.Euestou colando omesmo código de lá. Useestafunçãopara recuperar o ID dapá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
Eutiveproblemas com a respostaescolhida aotentar usar o código várias vezesnamesmapágina.Ele continuouexibindotodos osmeuspáginas conteúdo aomesmotempoem todas asinstâncias.Então voltei apensare crieiessa abordagemmais simples combaseno 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(); ?>
Talvez ainda seja útilpara alguém láfora; 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
Muitas respostas aqui queparecemexcessivamente complexas ounão descrevem como obter o ID dapáginaespecificamente.
$page = get_page_by_path("your-page-slug"); if ($page) { $page_id = $page->ID; echo $page_id; }
Na descrição acima,atribuímos o objeto Postpara $página - depois deter o objeto Post vocêpode obter qualquer uma dasinformações descritas aqui: https://codex.wordpress.org/class_reference/wp_post
$page->ID $page->post_status $page->post_title
e muitomais
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
Há umafunção url_to_postid desde o wordpress v1.0.0 :) Estatarefa émaisfácil de ser alcançada usandoestafunção.
Quando apágina é umapágina denível superior,apenas a SLUG deve ser dada.
e.
url_to_postid('slug');
Quando apáginaestivernonível de hierarquiainferior (isto é,tem pai),vocêprecisaprever o SLUGpai divididopor Slash como assim:
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 sugestão seja útilpara alguém.
<?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.
Eu soumuitonovopara WordPresse eu queria saber seeupoderia obter um ID depágina
page id
comele éslug
.Épossívelporfavorme avise.