wp_remote_request

説明

mixed wp_remote_request( string $url [ , array $args = array() ] )
HTTPリクエストを送信する。

パラメータ

  • $url
    リクエスト先URLを指定。
  • $args
    パラメータを連想配列で指定(省略時はarray())。連想配列の要素は次の通り。
    キー名内容省略時の値
    'method'メソッド種別'GET'
    'timeout'タイムアウト秒数5
    'redirection'リダイレクト回数5
    'httpversion'HTTPバージョン'1.0'
    'user-agent'ユーザエージェント'WordPress/'.$wp_version.'; '.get_bloginfo( 'url' )
    'blocking'ブロッキング指定true
    'headers'ヘッダーarray()
    'cookies'クッキーarray()
    'body'ボディnull
    'compress'圧縮指定false
    'decompress'非圧縮指定true
    'sslverify'SSLベリファイ指定true
    'stream'ストリーム指定false
    'filename'ファイル情報null

返り値

リクエストを送信(レスポンスを取得)できた場合は連想配列を、送信に失敗した場合は WP_Errorオブジェクトを返す。連想配列は次の通り。
キー名内容
'headers'ヘッダー情報('server'、'date'、'content-type'などの連想配列)
'body'レスポンス本体(文字列)
'response'レスポンス情報('code'と'message'要素を持つ連想配列)
'cookies'クッキー情報(配列)
'filename'ファイル情報

注意

基本的には wp_remote_get関数と同じ。

使用例

  • 'http://wordpress.org/'にリクエストを送信する。
    <?php $response = wp_remote_request( 'http://wordpress.org/' ); ?>
  • 'http://wordpress.org/'にタイムアウト10秒でリクエストを送信する。
    <?php $response = wp_remote_request( 'http://wordpress.org/', array( 'timeout'=>10 ) ); ?>

フィルター

直接実行するフィルターはありません。

アクション

直接実行するアクションはありません。

ソースファイル

/wp-includes/http.php

最終更新 : 2017年05月23日 16:20



お勧め

投稿ページでユニークなテンプレートを選択しよう(2018年5月27日 更新)

4.7の変更点に「投稿タイプテンプレート」がある。これは従来固定ページ('page')向けに任意のテンプレートを適用できる機能が拡張されたもので、投稿ページ('post')はもちろんカスタム投稿タイプのページにも適用可能になっている。

ブロックエディターの色設定を変えてみる(2019年12月11日 更新)

バージョン5.3で機能強化されたブロックエディター。対応を考えて新テーマ「Twenty Twenty」のソースコードを眺めていく。

5.3の新機能:日付とタイムゾーン(2019年10月2日 更新)

WordPress 5.3 Beta 1」に記載されていた「Time/Date component fixes」という見出し。開発者向として新しい関数の追加や多くのバグが修正されたとなっており、チェックせざるを得ない。

ショートコードを含んだページを表示する前に何か処理する(2014年5月28日 更新)

固定ページまたは投稿ページに独自のフォームを埋め込む。入力→登録の2段階のフォームなら著名なプラグイン「Contact Form 7」を利用すればいいのだが、クライアントの依頼は入力→確認→登録の3段階で組み込む要素が特化していたので、独自の実装方法を考えることになった。

Emojin:プラグイン作ってみました(2015年3月21日 更新)

ちょっと前のTLでiOSの絵文字を含んだ投稿を保存すると、絵文字以降の文章がすべて消えた状態で保存されるといったツイートを見かけた。少し検索してみると、MySQLのデータベースの文字セットが「utf8」の場合、iOSの絵文字のような4バイトの文字を正常に保存できず、それ以降の文章も保存されないというものらしい。対処方法としてデータベースの文字セットを「utf8mb4」に変更するのが有効らしいのだが、他に回避策がないか考えてみた。