programing

Wordpress: get_post_field() 함수를 사용하여 게시 내용을 가져올 때 쇼트코드가 작동하지 않습니다.

instargram 2023. 3. 23. 22:15
반응형

Wordpress: get_post_field() 함수를 사용하여 게시 내용을 가져올 때 쇼트코드가 작동하지 않습니다.

루프 외부의 ID로 투고 내용을 취득하고 싶기 때문에, 이하의 코드를 사용하고 있습니다.

    echo get_post_field('post_content', $postid);

정상적으로 동작하지만, 투고에 쇼트 코드가 포함되어 있는 경우는 쇼트 코드가 올바르게 동작하지 않습니다.숏코드만 플레인텍스트로 에코합니다.

예:편집기에서 다음 코드를 사용하여 이미지에 캡션 텍스트와 이미지를 표시하고 있습니다.

    [caption id="attachment_23" align="alignnone" width="300"]<img class="size-medium wp-image-23 " alt="" src="http://localhost/wordpress/wp-content/uploads/2014/03/Desert-300x225.jpg" width="300" height="225" /> this is caption[/caption]

하지만 기능을 사용하여 이 게시물을 받았을 때get_post_field()캡션 텍스트를 표시하는 대신 다음과 같이 표시됩니다.

    [caption id="attachment_23" align="alignnone" width="300"]this is caption[/caption] 

해결방법은?

N.B: 저는 에이잭스를 사용해서

이 조작은 유효합니다.

echo do_shortcode(get_post_field('post_content', $postid));

편집

Ajax 내에서 숏코드를 강제로 출력하려면 AJAX 요청 내에서 숏코드 실행을 참조하십시오.

콘텐츠를 표시하기 전에 필터링해야 하므로 다음 코드를 사용해 보십시오.

echo apply_filters( 'the_content', get_post_field('post_content', $postid) );

업데이트: 접속되어 있는Ajax 콜을 사용하여 쇼트 코드를 출력할 수 없습니다.wp_ajax.WP Ajax를 통해 퍼블릭콜과 클로즈드콜을 모두 실행합니다.admin.php이는 다음과 같은 전체 wp 환경에 액세스할 수 없음을 의미합니다.do_shortcode()(그것은 내부에 있습니다./wp-includes/shortcodes.php.

언급URL : https://stackoverflow.com/questions/22270147/wordpress-shortcode-doesnt-work-when-getting-post-content-using-function-get-p

반응형