web-dev-qa-db-ja.com

jSON配列を取得するためのショートコードの作成

率直に言って - これは私がそこに持っている別の質問の複製かもしれません。あれば申し訳ありません。私はこのサイトとPHP/Wordpressの開発を学んでいます。私はJSONを使用しているローカルサイトとパートナーシップを結んでおり、私たちは共に取り組んでいます。彼らはWordpressのスペシャリストではありません。

私の友人がこのURLからJSONオブジェクトと呼ぶものを取得したいです。

http://aggrenda.com/mpellas/michael-pellas/events.json

スケジュールされた投稿にデータを解析することができるショートコードを作成しようとしています。特定の日付、住所、説明(およびその他の)データがあります。

私はphpfiddle.orgで私のPHPと仕事をしてきましたが、成功しています。私はWordpressの機能に何かを翻訳することができていませんでした。

これが私の最新の試みの1つです。

add_shortcode('aggrenda', 'requestAggrendaEvents');
function requestAggrendaEvents() 
{
$json = file_get_contents("http://aggrenda.com/mpellas/michael-pellas/events.json");
$data = json_decode($json, true);
var_dump($data['events'][1]['title']);
}

基本的なphpは動作しますが、file_get_contentsをwp_remote_getで変更した場合、コードのわずかな変化にもよりますが、空白のページしかない、またはnullが返されます。私はすべてをfunctions.phpに入れました。

私はPHPがうまくいく他の断片をたくさん持っていますが、私はそれをWP機能に翻訳することができません。私は確かに小さいことを考えています。助けて?

1
mpellas

wp_remote_get() に関するドキュメントのように、要求されたリソースの本体だけを返すわけではありません。戻り値はデータの配列か失敗した場合はWP_Errorオブジェクトのどちらかになります。

体に到達するための最も簡単なスニペットは次のようになります。

$json = wp_remote_retrieve_body( wp_remote_get( $url ) );

シモンズこれは、最短期間でこれを行うのはちょっと奇妙です、あなたはそれがそれのための最も適切な場所であると確信していますか? :)

0
Rarst