-
2012/11/08 9:00 오후 #6563
‘xmlrpc_prepare_post’ Hook을 이용해서 본문내용을 필터링 하세요.
다른 내용들도 prepare 관련 hook들을 통해서 필터링 할 수 있습니다.
[code title=”예제”]
function my_xmlrpc_prepare_post($post) {
$post[‘post_content’] = do_shortcode($post[‘post_content’]);
return $post;
}
if ( defined(‘XMLRPC_REQUEST’) && true === XMLRPC_REQUEST )
add_filter(‘xmlrpc_prepare_post’, ‘my_xmlrpc_prepare_post’);
[/code]2012/11/13 10:23 오후 #6579답이 늦었네용…
shortcode 들 중에서 글의 데이터를 global $post 해서 가져오는 경우가 있어서 입니다. ‘xmlrpc_prepare_post’ hook에 주어지는 값들(arguments)중에 Array 형식의 $post가 있으니 그것을 object로 바꿔서 global 에 적용시켜주면 될겁니다.
[code title=”예제2″]
function my_xmlrpc_prepare_post($_post, $postarr) {
$GLOBALS[‘post’] = (object) $postarr;
setup_postdata($post);// single() 혹은 loop 안에서와 같은 환경만듬
$_post[‘post_content’] = do_shortcode($_post[‘post_content’]);
wp_reset_postdata();// 원래대로 복귀(다른 함수혹은 hook들을 위해)
return $_post;
}
if ( defined(‘XMLRPC_REQUEST’) && true === XMLRPC_REQUEST )
add_filter(‘xmlrpc_prepare_post’, ‘my_xmlrpc_prepare_post’, 10, 2); [/code] -
AuthorPosts
- 답변은 로그인 후 가능합니다.