슬러그를 사용하여 페이지 컨텐츠 가져 오기


9

슬러그 문자열 만 알면 페이지 내용을 얻으려고합니다.

이것에 대한 기능이 있습니까, 아니면 쉬운 방법입니까, 아니면 SQL을 통해 수행합니까?

매우 감사합니다

답변:


30

슬러그 인 get_posts()매개 변수 name를 사용하십시오 .

$page = get_posts( array( 'name' => 'your-slug' ) );

if ( $page )
{
    echo $page[0]->post_content;
}

게시물 유형의 get_posts()기본값은 'post'입니다. 페이지 사용 을 원한다면 …

$page = get_posts(
    array(
        'name'      => 'your-slug',
        'post_type' => 'page'
    )
);

모든 공개 게시물 유형 (첨부 파일 제외) 을 원하는 경우 게시물 유형 인수를로 설정하십시오 'any'. 그런 다음 다른 게시물 유형에서 슬러그가 고유하지 않기 때문에 둘 이상의 결과를 얻을 수 있습니다.


4

get_page_by_title()기능을 사용하여 제목별로 페이지를 얻을 수 있습니다 .

다음과 같이 사용할 수 있습니다 (컨텐츠를 표시하려는 경우).

$page = get_page_by_title('Your Title'); 
$content = apply_filters('the_content', $page->post_content);
echo $content;

슬러그를 사용하여 페이지를 가져 오려면 BTW :

function get_page_id_by_slug($slug){
    global $wpdb;
    $id = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_name = '".$slug."'AND post_type = 'page'");
    return $id;
}

$page = get_post(get_page_id_by_slug('my-slug'));

4

문제가있는 슬러그가있는 페이지에있는 경우

조건부 태그 읽기 :
is_page()슬러그를 인수로 사용합니다.

그 후,

if( is_page( 'your-slug' ) ) {
     // fetch content
}

당신이 원하는 것을 할 것입니다.

다른 페이지에있는 경우

해당 페이지에 없을 때 슬러그를 기반으로 게시물 / 페이지 콘텐츠를 가져 오는 방법에 관심이 get_posts있다면 슬러그도 제공 할 수 있습니다. 이것은 코덱에 문서화되어 있지 않습니다.

다음은 슬러그에서 ID를 가져옵니다.

$args = array(
    'name' => 'your-slug'
);
$posts_from_slug = get_posts( $args );

// echo fetched content
echo $posts_from_slug[0]->post_content;

2

사용하십시오 get_page_by_path.

통사론

<?php get_page_by_path( $page_path, $output, $post_type ); ?>

매개 변수

예:

//Returns the animal with the slug 'cat'
get_page_by_path('cat', OBJECT, 'animal');

자세한 내용은 워드 프레스 기능 참조를 참조하십시오.

페이지에서 테마 템플릿을 채울 때이 코드를 사용합니다.

        $about = get_page_by_path('about'); 
        $content = apply_filters( 'the_content', $about->post_content ); 
        echo $content;
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.