外部記事URL追加フロー
- WordPress編集画面で外部記事リンクブロックを選択肢ブロック内の入力欄にURLを追加
- 「追加ボタン」クリックReactで下記の処理
- バリデーション(空欄、…)
- 追加ボタンをローディング
- WordPress REST API にリクエスト
- function.phpでに下記のエンドポイントの処理
- バリデーション(URL形式、編集権限、…)
- wp_remote_get()でURLにアクセス
- レスポンスコードの確認
- DOMDocumentを使ってHTMLをパース、タイトル取得 or エラーメッセージを返す
REST API関連の主要関数
register_rest_route()
REST APIのエンドポイントを登録するための関数です。
register_rest_route('theme-name/v1', '/get-title', array(
'methods' => 'POST',
'callback' => 'get_title_callback',
));
- 第1引数: 名前空間
- 第2引数: エンドポイントのパス
- 第3引数: オプション配列(メソッド、コールバック関数、権限確認コールバック等)
wp_remote_get()
HTTPリクエストを外部URLに送信するための関数です。
$response = wp_remote_get($url, $args);
- 第1引数: リクエスト先のURL
- 第2引数: オプション配列(タイムアウト設定など)
wp_remote_retrieve_response_code()
HTTPレスポンスからステータスコードを取得する関数です。
$status_code = wp_remote_retrieve_response_code($response);
wp_remote_retrieve_body()
HTTPレスポンスからボディ部分(コンテンツ)を取得する関数です。
$html = wp_remote_retrieve_body($response);
wp_remote_get()
HTTPリクエストを外部URLに送信するための関数です。
$response = wp_remote_get($url, $args);
- 第1引数: リクエスト先のURL
- 第2引数: オプション配列(タイムアウト設定など)