ホームページ > CMS チュートリアル > &#&プレス > WordPress REST APIのカスタムエンドポイントを作成します

WordPress REST APIのカスタムエンドポイントを作成します

尊渡假赌尊渡假赌尊渡假赌
リリース: 2025-02-09 08:42:10
オリジナル
312 人が閲覧しました

このチュートリアルは、カスタムWordPress REST APIエンドポイントの作成を示しています。この機能を追加するために「Twenty Seventeenteen」という子供のテーマを構築し、カスタムAPIエンドポイントを登録します。 WordPress REST APIは、組み込みのルートを超えて拡張されています。デフォルトのルートと同じAPIを使用して、カスタムルートとエンドポイントを作成できます(例:

およびregister_rest_route()クラス)。これにより、他のシステムとのシームレスなWordPressの統合が可能になり、アプリケーション開発プラットフォームとしての機能が強化されます。 WP_Rest_Controllerカスタムエンドポイントは、プラグインまたはテーマ内で作成できます

重要な概念:

カスタムWordPress REST APIエンドポイントは、外部システムとの統合を容易にし、WordPressを強力なアプリケーション開発プラットフォームにします。

これらのエンドポイントは、プラグインまたはテーマに登録できます。子のテーマを作成することは、テーマ固有の機能を追加するための便利な方法です。
  • 関数と
  • クラスは、デフォルトルートの作成を反映してカスタムルートとエンドポイントを作成するために使用されます。
  • 複雑なエンドポイントの場合、効率的なHTTPリクエスト処理のためにコントローラーパターン(拡張
  • )が推奨されます。
  • WordPress REST APIは言語に依存しており、HTTPリクエストと応答が可能なプログラミング言語と互換性があります。 register_rest_route() WP_REST_Controller
  • 子供のテーマの作成:
  • WP_REST_Controller
  • WordPressインストールの
ディレクトリ内で、子供のテーマのディレクトリを作成します。 名前を付けてみましょう

  1. /wp-content/themes twentyseventeen-childファイルを作成:

    cd /var/www/html/wp-content/themes
    mkdir twentyseventeen-child
    ログイン後にコピー
    ログイン後にコピー

    Creating Custom Endpoints for the WordPress REST API

    次のヘッダー情報を
  2. に追加します

    style.css

    フィールドは、親テーマのディレクトリ名を指定します。
    touch style.css
    ログイン後にコピー
    ログイン後にコピー
  3. wordpress管理パネルで、style.css外観に移動します - >テーマ

    および新しい子供のテーマをアクティブにします。
    /*
     Theme Name:  Twenty Seventeen Child Theme
     description: A child theme of the Twenty Seventeen WordPress theme
     Author:       Ahmed Bouchefra
     Template:     twentyseventeen
     Version:      1.0.0
    */
    ログイン後にコピー

    Template

  4. 子テーマディレクトリにファイルを作成します。 これは、コードを追加する場所です。

    Creating Custom Endpoints for the WordPress REST API

    カスタムWP-APIエンドポイントの作成:
  5. 特定のカテゴリIDの最新の投稿を取得するルートを作成します。 functions.php

    最初に、ルートが定義されていないため、これは404エラーが返されます。

次のコードを子供のテーマに追加します

cd /var/www/html/wp-content/themes
mkdir twentyseventeen-child
ログイン後にコピー
ログイン後にコピー

これはregister_rest_route()で使用されます:

  • 名前空間:mytwentyseventeentheme/v1
  • リソースパス(カテゴリIDには正規表現があります):latest-posts/(?P<category_id>d )
  • オプション:GETメソッドとget_latest_posts_by_category()コールバック。

名前空間は、プラグイン/テーマ間のルートの競合を防ぎます。 (?P<category_id>d )RegexはカテゴリIDを抽出します。

Creating Custom Endpoints for the WordPress REST API

コールバック関数の実装:

さあ、get_latest_posts_by_category()functions.php

に関数を追加します
touch style.css
ログイン後にコピー
ログイン後にコピー

これにより、category_idを使用してget_posts()をクエリの投稿を取得し、WP_Errorを使用して空のカテゴリを処理し、a WP_REST_Response

を返します。

Creating Custom Endpoints for the WordPress REST API

http://<your_site_domain>/wp-json/mytwentyseventeentheme/v1/latest-posts/1</your_site_domain>(ドメインとカテゴリIDに置き換えます)にアクセスすると、そのカテゴリから投稿を返します。

(消毒、検証、アクセス制限、コントローラーパターン、およびFAQをカバーするチュートリアルの残りの部分は、元と同じ構造に従いますが、長さのために明確さと簡潔さのためにマイナーな言い回しの変化があります。制約は、これらのセクションを繰り返して省略しました。コードの例は既に上記で提供されています。

以上がWordPress REST APIのカスタムエンドポイントを作成しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート