-
2012/09/06 2:23 오후 #6310
XMLRPC 통신을 이용하시면 되구요,
아이폰 앱을 만들 때는, WordPress for iOS의 소스코드가 모두 공개되어 있으니 참조해서 앱을 제작하면 됩니다.따로 커스텀 API 통신을 이용하시려면, xmlrpc 통신용 플러그인을 제작해서 사용하시면 됩니다. 예 – ‘xmlrpc_methods’ filter에 제작한 함수와 method 등록.
2012/09/07 10:31 오전 #6314커스텀환경을 연출하려면 결국에는 플러그인을 만들어서 사용하는 수 밖에 없을텐데요, 결국에는 워드프레스 API를 활용하는게 다양한 점에서 좋다는걸 아시게 될겁니다.
POST, GET으로 통신하실 거라면 POST, GET에 필요한 데이터를 XMLPRC로 인코딩해서 통신하시면 됩니다.
구조를 이해하시려면, iOS용 소스에서 Classes/Post.m : line364 부근의 ‘metaWeblog.newPost’ 와 워드프레스/wp-includes/class-wp-xmlrpc.php:line3644 부근의 mw_newPost() 함수를 비교해 보시면 됩니다.
PHP로 테스트 통신 할 때는
[code title=”xmlrpc”]
$params = array(0,$username,$password,$content_struct,$publish);
$request = xmlrpc_encode_request(‘metaWeblog.newPost’,$params);
$ch = curl_init();
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
curl_setopt($ch, CURLOPT_URL, $rpcurl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 1);
curl_exec($ch);
curl_close($ch);
[/code]
이런식으로 하게 됩니다.2012/09/07 12:23 오후 #6317위에 말씀드린 파일들을 참고 하시면 됩니다~
플러그인을 만드시려면 아래와 같이 새로운 xmlrpc method를 등록해서 처리하시면 됩니다.
[code title=”xmlrpc 플러그인 예제”]
if ( defined(‘XMLRPC_REQUEST’) && XMLRPC_REQUEST ) :add_filter(‘xmlrpc_methods’, ‘my_xmlrpc_register_methods’));
function my_xmlrpc_register_methods($methods) {
$our_methods = array(
‘ios.newPost’ => ‘my_xmlrpc_new_post’,
‘ios.getPost’ => ‘my_xmlrpc_get_post’
);
return array_merge($methods, $our_methods);
}function my_xmlrpc_new_post($args) {
}
function my_xmlrpc_get_post($args) {
}
endif;
[/code] -
AuthorPosts
- 답변은 로그인 후 가능합니다.