2017-02-14 6 views
0

私は2つのカスタム投稿の種類を作成しました - シーズンズとコンテスト私がしたいのは、外部apiのデータを使って、これらの投稿を作成し、更新するプラグインは、私はいくつかの試みがなされているが、これまでのところ、これはAPIのサンプルを動作させるために失敗することはある:外部のjsonフィードからカスタムの投稿の種類を作成して更新するWordPressのプラグインを作成する方法

{"id":15,"startDate":"14-06-2014","endDate":"23-07-2015","competition":{"id":43,"name":"Champions League"},"sponsor":{"id":12,"name":"UEFA","description":"Uefa"}}`` 

とプラグインのこれまでのコード:

function add_posts() 
{ 

$season_request = 'https://somedomain/api/info'; 

$args = array(
'headers' => array(
    'Authorization' => 'Basic ' . base64_encode(user . ':' . password) 
) 
); 
$season_response = wp_remote_get($season_request, $args); 
$season_data = json_decode($season_response['body']); 

if(! $season_data) 
return false; 

$query = array(
    'meta_query' => array(

    array(
     'key' =>'season_id', 
     'value' => $season_data->id 
    ) 
), 

'post_type' => 'seasons', 
'post_status' => array('publish', 'pending', 'draft', 'auto-draft', 'future', 'private', 'inherit'), 
    'posts_per_page' => 1 
); 

    $season = get_posts($query); 
    $season_id = ''; 
    if($season) 
    $season_id = $season[0] -> id; 

    $season_post = array 
    (
    'ID' => $season_id, 
    'post_title' => $season_data -> startDate . endDate . 'test', 
    'post_type' => 'seasons', 
    'post_author' => 1, 
    'post_status' => ($season) ? $season[0] -> post_status : 'publish' 

    ); 

    $season_id = wp_insert_post($season_post); 



    } 

私は比較的新しいphp(コーディングしない)ですので、それはsomethiかもしれません私が見ることができないことは明らかに明白です。私はこれが何らかの詳細な文書があるだろうと思っていましたが、もしそれが私からかなり隠されていると思われるならば。正しい方向の助けや指針は本当に感謝します。

$data_request = 'https://yoururlforapihere/api/data'; 
$username = 'user'; 
$password = 'password'; 

$headers = array('Authorization' => 'Basic ' . base64_encode("$username:$password")); 
$data_response = wp_remote_get($data_request, array('headers' =>$headers, 'sslverify' => false)); 

データがで来ていた、適切に休息がより簡単になりましたら、次のように おかげ

+1

実際の質問は何ですか? – Connum

+0

外部のjsonフィードからカスタムの投稿タイプを作成して更新するWordPressのプラグインを作成するにはどうすればよいですか? – rmsGreig

+1

このコードで特定のプログラミング問題が発生していなくても、他の人には完成したコードを提示してもらいたいのであれば、StackOverflowは適切な場所ではありません。 – Connum

答えて

0

外部APIを呼び出すための正しい方法でした。

関連する問題