2016-08-24 15 views
0

GoogleのウェブサイトにWordpress APIをインストールして、新しい会社のウェブサイトに表示するためにデータを取得できるようにしました。最初のデータを取得して表示することに関しては、元のウェブサイトから新しいウェブサイトの特定のページに特定のカテゴリからの投稿がすべて正常に機能します。Wordpress API - 投稿の一覧からの完全な投稿の詳細へのリンク

これは、バー/レストランで行われる既存のウェブサイトの「whats on」ページに入力されるイベント用です。新しいサイトは、イベント専用のもので、両方のサイトでイベントを追加/修正しなくても、APIを使用するのが最も効果的だと考えました。

$response = wp_remote_get('http://restuarantdomain.com/wp-json/wp/v2/posts?filter[category_name]=live-events&per_page=50'); 

私も、私が使用する必要がある個々のポストを表示することを知っている:私が使用して(働く)のイベントの完全なリストを取得するに

$response = wp_remote_get('http://restaurantdomain.com/wp-json/wp/v2/posts?filter[name]=event_name); 

私は何をすることができます」新しいサイトで「友好的」なURLを作成してから、個々の投稿の詳細を取得するための関数を呼び出すページに移動します。

たとえば、URLの(上記の1回目のAPI呼び出しで取得したイベント投稿のリスト内)には、What's Onのページに移動し、そのページのurlのイベント名を上記の2番目のAPI呼び出し。しかし、Wordpressはカテゴリが存在しないので、存在しないURLのフォーマットのために投稿名を探します。

私は何が欠けていますか?

+0

ホームURLと管理URLを変更するだけで、元のデータベースのコピーを新しいプロジェクトに使用できます。これを試して。 –

+0

ありがとうございますが、元のデータベースのコピーを使用したくない場合は、それを行っています。これはAPIを使用している私の目的ではありません。これは1つのビジネスの別の部分のための別のウェブサイトは同じですので、新しい投稿があるたびに2回入力するのではなく、1つのサイトに追加または更新するだけです。 – emdav43

+0

私はその管理が難しいと思っています。これのための唯一の方法は、wp_postとwp_postmetaのmysql接続クエリによって元のWebサイトデータベースから投稿データを取得する必要があります。ここでは、削除などのすべてのことをmanallでやっています。投稿など@ emdav43を追加してください。あなたの要件として、この事は唯一の方法です。あなたが満足していない場合は、質問を編集して明確に説明してください。 –

答えて

0

カスタムエンドポイントを作成する必要があります。例えば

、あなたが特定のカテゴリ内のすべての投稿をフィルタリングしたい場合は、この

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

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

    return $posts[0]->post_title; 
} 

を行う必要があり、あなたは、あなたがあなたのエンドポイントコール

add_action('rest_api_init', function() { 
    register_rest_route('myplugin/v2', '/categoy/(?P<id>\d+)', array(
     'methods' => 'GET', 
     'callback' => 'my_cat_func', 
    )); 
}); 

を登録するアクションを追加する必要がありますこのようなものを入手する

http://example.com/wp-json/myplugin/v2/categoy/(?P<id>\d+) 

詳細については、 INGの、私はあなたがこのリファレンスを読んでお勧め: http://v2.wp-api.org/extending/adding/

この記事はまた、あなたのより多くの例を与えることができます:https://webdevstudios.com/2015/07/09/creating-simple-json-endpoint-wordpress/https://deliciousbrains.com/wp-rest-api-customizing-endpoints-adding-new-ones/

注:私は仕事をするより多くの努力を必要とするべきである、その場でこのコードを書きました。

+0

助けてくれてありがとうMajid、私はアイデアを得ると思うが、私の脳があまりにも薄くなっていない明日のあなたの提案されたリンクをさらに読んでいくだろう。 – emdav43

+0

あなたがそれに取り組み、それがあなたのために働いていることを確認したら、ここにコメントを残してこの回答を受け入れてください。 – Majid

関連する問題