ID로 게시물 내용 가져 오기


10

게시물 ID로 게시물의 콘텐츠를 얻으려면 어떻게해야합니까? get_page('ID');콘텐츠를 표시 하려고했지만 작동하지 않습니다.


1
에 대한 문서를 읽으려고 시도하지 않았던 다운 보트 get_page(). 그것은 아주 오래 전에 폐기되었습니다. 또한,이 문제에 관한 사이트에 자원을 무제한으로도 이것에 정보의 톤을 가지고 구글,가
피터 구센

답변:


17

여러 가지 방법으로 할 수 있습니다. 다음은 가장 좋은 두 가지 방법입니다.

$post_id = 5// example post id
$post_content = get_post($post_id);
$content = $post_content->post_content;
echo do_shortcode( $content );//executing shortcodes

다른 방법

$content = get_post_field('post_content', $post_id);
echo do_shortcode( $content );//executing shortcodes

에 Pieter Goosen 제안 후 apply_filters.

apply_filters다른 플러그인으로 컨텐츠를 필터링하려는 경우 사용할 수 있습니다 . 따라서이를 사용할 필요가 없습니다.do_shortcode

$post_id = 5// example post id
$post_content = get_post($post_id);
$content = $post_content->post_content;
echo apply_filters('the_content',$content);
 //no need to use do_shortcode, but content might be filtered by other plugins.

다른 플러그인이이 콘텐츠를 필터링하도록 허용하지 않고 단축 코드 기능이 필요한 경우로 이동하십시오 do_shortcode.

단축 코드를 원하지 않으면 post_content.


왜 당신이 사용하는지 궁금해do_shortcode
Pieter Goosen

부탁해 주셔서 감사합니다. @PieterGoosen 우리는 raw content게시물을 받고 있습니다. 게시물에 포함 된 모든 단축 코드는 처리되지 않습니다. 그래서 우리는 함께 해결할에 의해 그 일을하고 있습니다do_shortcode
WPTC-부대

2
더 나은 방법은을 사용하는 것입니다 apply_filters( 'the_content', $content );. 이런 식으로 the_content()like wpautop및 단축 코드 핸들러에 적용되는 모든 필터 가에 적용됩니다 $content. ;-). 복수를 주목하십시오filters
Pieter Goosen

1
예, 사용하는 apply_filters대신 do_shortcode메이크업 감각. 그러나 사용 apply_filter은 순전히 환경 결정에 기반합니다. 답변도 업데이트하겠습니다. 커뮤니티에 관심을 가져 주셔서 감사합니다 @PieterGoosen
WPTC-Troop

0

가끔 유용 할 수있는 또 다른 해킹 방법을 여기에 남겨 두겠습니다. 물론 API 호출을 사용하는 메소드는 항상 선호됩니다 (get_post (), get_the_content (), ...).

global $wpdb;
$post_id = 123; // fill in your desired post ID
$post_content_raw = $wpdb->get_var(
    $wpdb->prepare(
        "select post_content from $wpdb->posts where ID = %d",
        $post_id
    )
);

0
$id = 23; // add the ID of the page where the zero is
$p = get_page($id);
$t = $p->post_title;
echo '<h3>'.apply_filters('post_title', $t).'</h3>'; // the title is here wrapped with h3
echo apply_filters('the_content', $p->post_content);

1
제발 편집 답변을 하고, 설명을 추가 : 문제를 해결할 수있는?
fuxia

-1

를 사용하여 get_page('ID').

$page_id = 123;  //Page ID
$page_data = get_page($page_id); 
$title = $page_data->post_title; 
$content = $page_data->post_content;

1
실제로 문서를 읽으려고 시도하지 않았기 때문에 하향 조정되었습니다. get_page()감가 상각
피터 구센에게
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.