반응형
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
반응형
'programing' 카테고리의 다른 글
클라이언트 측에서 javascript를 작성하여 'chunked' 응답을 제때 수신하고 해석하는 방법은 무엇입니까? (0) | 2023.03.23 |
---|---|
WordPress $wpdb를 사용하여 WordPress 데이터베이스의 테이블에 데이터 삽입 (0) | 2023.03.23 |
ORA-01034: ORACLE을 사용할 수 없음 ORA-27101: 공유 메모리 영역이 없습니다. (0) | 2023.03.23 |
Next.js 페이지 전환 시 화면 로드 중 (0) | 2023.03.23 |
리액트 + 플럭스 및 서버 측 렌더링(이형 반응 + 플럭스) (0) | 2023.03.23 |