페이지 슬러그를 사용하여 페이지의 페이지 ID를 얻는 방법
7 대답
- 투표
-
- 2013-06-13
get_page_by_path($page_path)
사용 :$page = get_page_by_path( 'about' ); echo get_the_title( $page );
일반 게시물 개체를 반환합니다.
문서 :
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/-
내가 원하는 하위 페이지의 ID이면 어떻게 되나요?What if it's a child page's id I want?
- 0
- 2013-06-13
- freaky
-
@freaky이 함수는 부모 슬러그가 아닌 페이지 슬러그 만 사용합니다.슬러그는 고유하기 때문에 항상 한 페이지 만 얻을 수 있습니다.@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
-
감사합니다. 하위 페이지의 경우`$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
-
명확히하기 위해`get_page_by_path`는`post_slug`가 아닌`post_name` 필드를 내부적으로 사용합니다.Just to clarify, `get_page_by_path` uses the `post_name` field internally, not `post_slug`.
- 0
- 2018-04-09
- colefner
-
명확하게 말하자면,이것은 페이지 이름이 아닌 페이지 경로를 사용합니다. 맞습니까?그러면 "About us"라는 이름의 페이지에서 인수는 "about-us"여야합니다. 맞나요?시작 또는 후행 슬래시가 없습니까?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
-
예,@ user658182Yes, @user658182
- 0
- 2018-07-25
- fuxia
-
- 2015-03-13
이 .. 사용하고 있습니다.
function get_id_by_slug($page_slug) { $page = get_page_by_path($page_slug); if ($page) { return $page->ID; } else { return null; } }
누군가를 도울 수 있기를 바랍니다.
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.
-
함수로 감싸는 이유는 무엇입니까?`get_page_by_path`가 이미null을 반환합니다…Why wrapping it in a function? `get_page_by_path` already returns null …
- 0
- 2019-03-01
- GDY
-
OP 질문은 페이지 개체가 아닌 ID를 반환하기를 원하기 때문입니다.Because the OP question wants to return ID, not the page object.
- 0
- 2019-10-16
- user1158023
-
- 2013-06-13
이 포럼에서 이미 질문과 답변을 받았습니다.거기에서 같은 코드를 붙여 넣습니다. 이 기능을 사용하여 페이지 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; }
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
같은 페이지에서 코드를 여러 번 사용하려고 할 때 선택한 답변에 문제가있었습니다.모든 인스턴스에서 동시에 모든 페이지 콘텐츠를 계속 표시했습니다.그래서 저는 생각으로 돌아가 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(); ?>
아마도 다른 사람에게 여전히 도움이 될 수 있습니다. 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
너무 복잡해 보이거나 페이지 ID를 구체적으로 얻는 방법을 설명하지 않는 많은 답변이 있습니다.
$page = get_page_by_path("your-page-slug"); if ($page) { $page_id = $page->ID; echo $page_id; }
위의 설명에서 $page에 게시 개체를 할당했습니다. 게시 개체가 있으면 여기에 설명 된 정보를 얻을 수 있습니다. https://codex.wordpress.org/Class_Reference/WP_Post
$page->ID $page->post_status $page->post_title
기타
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
WordPress v1.0.0부터 url_to_postid 함수가 있습니다. :)이 작업은이 함수를 사용하면 가장 쉽게 달성 할 수 있습니다.
페이지가 최상위 페이지 인 경우 슬러그 만 제공하면됩니다.
예 :
url_to_postid('slug');
페이지가 하위 계층 수준 (즉,상위 항목이 있음)에있는 경우 다음과 같이 슬래시로 나눈 상위 슬러그를 앞에 추가해야합니다.
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; } } ?>
이 제안이 누군가에게 도움이되기를 바랍니다.
<?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.
나는 워드 프레스를 처음 접했고
page id
로slug
를 얻을 수 있는지 궁금합니다.가능하다면 알려주세요.