概要
wp_is_xml_request
関数は、現在のリクエストがXML形式かどうかを調べるために使用されます。主に以下のような機能を実装する際に利用されることが一般的です。
- AJAXリクエストの判定
- APIレスポンスの処理
- XMLデータの受け取り
- データのインポート機能
- サードパーティアプリとの連携
- フロントエンドとバックエンドの通信
- Webサービスの構築
- 状態遷移の管理
構文
wp_is_xml_request();
パラメータ
この関数はパラメータを受け取りません。
戻り値
true
– 現在のリクエストがXML形式である場合。false
– 現在のリクエストがXML形式でない場合。
関連する関数
使用可能なバージョン
wp_is_xml_request
関数はWordPress 3.5以降で使用可能です。
ワードプレスのコアファイルのパス
wp-includes/http.php
この関数のアクションでの使用可能性
アクション名 | 使用例 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |
サンプルコード
サンプル1: AJAXリクエストの判定
if ( wp_is_xml_request() ) {
// XMLリクエストの場合の処理
header('Content-Type: application/xml');
echo '<response>Success</response>';
exit;
}
このコードは、リクエストがXML形式かどうかをチェックし、XMLの場合は特定のレスポンスを返します。
サンプル2: APIレスポンスの処理
add_action('rest_api_init', function () {
if ( wp_is_xml_request() ) {
// XML形式のAPIリクエストに処理
// APIのレスポンスとしてXMLを生成
}
});
この例では、REST APIが初期化されたときにXMLリクエストであるかを判定し、適切にレスポンスを生成します。
サンプル3: データのインポート機能
function import_data() {
if ( wp_is_xml_request() ) {
// XMLデータをインポートする処理
}
}
add_action('init', 'import_data');
この関数は、初期化時にXMLリクエストがあればデータをインポートする機能を実装しています。
サンプル4: フロントエンドとバックエンドの通信
function handle_request() {
if ( wp_is_xml_request() ) {
// バックエンドからのXMLデータを処理
}
}
add_action('wp', 'handle_request');
このコードは、フロントエンドからのXMLリクエストがあった場合の処理を定義しています。
サンプル5: Webサービスの構築
function api_service() {
if ( wp_is_xml_request() ) {
// クライアントからのXMLリクエストに応じたサービスを提供
}
}
add_action('rest_api_init', 'api_service');
このコードは、Webサービスの一部としてXMLリクエストに対する処理を行うものです。