워드프레스 플러그인에서 컬을 사용하는 방법은 무엇입니까?
워드프레스 플러그인을 만들고 있는데 cURL 호출이 제대로 작동하지 않습니다.
예를 들어 www.domain.com/wp-admin/admin.php?page=orders 페이지가 있다고 합시다.
주문 페이지에는 버튼이 클릭되었는지, 클릭되었는지 여부를 확인하는 기능이 있으며, 같은 페이지(www.domain.com/wp-admin/admin.php?page=orders&dosomething=true)에서 다른 기능을 시작하려면 cURL 호출을 수행해야 합니다.이렇게 하는 이유는 이 cURL 콜을 비동기화할 수 있도록 하기 위해서입니다.
에러는 발생하지 않지만, 회답도 없습니다.URL을 example.com 또는 example.com으로 변경하면 응답이 나타납니다.인증 문제 같은 것이 있습니까?
내 코드는 이렇게 생겼는데..테스트를 쉽게 하기 위해 gets, echos를 사용하고 비동기 기능을 사용하지 않습니다.
if(isset($_POST['somebutton']))
{
curlRequest("http://www.domain.com/wp-admin/admin.php?page=orders&dosomething=true");
}
if($_GET['dosomething'] == "true")
{
echo("do something");
exit;
}
function curlRequest($url) {
$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
return($response);
}
WordPress 플러그인에 CURL을 사용하면 안 됩니다.
대신 wp_ 함수를 사용하여 HTTP 요청을 발행합니다.
function wp_plugin_event_handler () {
$url = 'http://your-end-point';
$foo = 'bar';
$post_data = array(
'email' => urlencode($foo));
$result = wp_remote_post( $url, array( 'body' => $post_data ) );
}
add_action("wp_plugin_event", "wp_plugin_event_handler");
과거에 WordPress 플러그인 이벤트 핸들러가 CURL과 연동되는 문제가 있었습니다.대신 WP_ 함수를 사용하면 예상대로 작동합니다.
물론 블로그의 admin 섹션은 비밀번호로 보호됩니다.인증 데이터를 전달해야 합니다.자세한 것은, http 인증을 참조해 주세요.특히 여기를 봐 주세요.
http://www.php.net/manual/en/function.curl-setopt.php
CURLOPT_USERPWD 옵션을 설정하거나 CURLOPT_를 설정할 수도 있습니다.HTTPAUTH.
언급URL : https://stackoverflow.com/questions/4800688/how-do-you-use-curl-within-wordpress-plugins
'source' 카테고리의 다른 글
RSpec/RoR을 사용하여 AJAX 요구를 테스트하려면 어떻게 해야 합니까? (0) | 2023.02.14 |
---|---|
Wordpress를 mysql 서버에 연결할 수 없습니다. (0) | 2023.02.14 |
Lodash Debounce는 비난하지 않는다. (0) | 2023.02.14 |
AngularJS - 컨트롤러 내부에서 상태를 변경하는 방법 (0) | 2023.02.14 |
Jest에서 버튼 클릭 시뮬레이션 (0) | 2023.02.14 |