2

私の Wordpress サイトでは、次のようなカスタム テンプレート ページを使用しています。

<php
 /* 
  Template Name : project_costs
 /*

get_header ();

// set default vars or user received
require("my_forms.php");
// pull data from db and calculate
require("project_calculation. php");
// create page
require("content. php");
...

project_costs.php 手順を実行する私のカスタムページ:

  1. ユーザーが入力した変数をページ フォームから受け取り、設定します (POST/GET)。
  2. データベースからデータをプルします。
  3. いくつかの計算と変更を行います。
  4. ユーザー向けのページを作成します。 

angular.jsを WP-API プラグインと統合したいと考えています。プラグインは、データベースから生データを取得し (ステップ 2)、それをフロントエンドに送信します (ステップ 4)。そのため、ページがリロードされなかったため、使用されていないページとテンプレート。

最初にデータを php クラスに渡し (ステップ 3)、次に変更されたデータを WP-API に渡します。

WP-API に PHP ファイルまたは関数を呼び出す関数はありますか? 

アドバイス、サンプル、またはリンクをいただければ幸いです。

ありがとう。

4

1 に答える 1

4

だから私は、#WordPress のいくつかの API/Angular 交換部品を含む巨大なプロジェクトに取り組んでいます。1 つのファイルはカスタム endpoint-boilerplate.php です。これまでのところ魅力のように機能しますが、ご意見をいただければ幸いです。

構造に従って、 を使用して、my_awesome_function好きなことをしてください。次に、my_awesome_func からのデータを使用して、フックからの名前空間とルートが利用可能になります。

<?php 
/* ------------------------------------------------------------------------ *  
    A great example of custom endpoints is the PHP in wp-api-menus plugin
* ------------------------------------------------------------------------ */

// hook into rest_api_init and register a new api route
add_action( 'rest_api_init', function () {

register_rest_route( 
    'custom-endpoint/v2',   // namespace
    '/author/(?P<id>\d+)',  // route
    array(                  // options
        'methods'  => 'GET',
        'callback' => 'my_awesome_func',
        // 'args'     => array(
        //     'context' => array(
        //     'default' => 'view',
        //     ),
        // ) 
    )
);

});


 function my_awesome_func( $data ) {
    $posts = get_posts( array(
        'author' => $data['id'],
    ) );

    if ( empty( $posts ) ) {
        return null;
    }

    return $posts[0]->post_title;
}

したがって、あなたの呼び出しはgetto になりますhttp://yourproject.com/wp-json/custom-endpoint/v2/author/1

于 2016-03-03T21:43:50.470 に答える