JSON GETリクエストから値を正常に抽出するPHPをいくつか作成しました(「teledu Pino」と呼ばれる外部サービスを介してAPIキーを使用したURLを介して)。
WordPress ページからその番号を更新するにはどうすればよいですか (ボタンを使用するか、x 秒ごとに自動的に更新するなど) (ページ全体を更新せずに)。変数を抽出するには PHP が必要なため、ページが読み込まれると PHP はアクティブではなくなります。そのため、ajax (できれば jquery) を使用して JavaScript から PHP を呼び出す必要があります。わかりました。しかし、このサイトや他のサイトから関連するソリューションを何日も試した後でも、コードを正しく取得する方法、個別のファイルにする必要があるもの、およびそれらを正確に配置する場所がわかりません。WordPress を使用しているので、プラグインを作成する必要があるのではないでしょうか? これには ajax を使用する簡単な方法が必要です。
私が知っていることは次のとおりです。jqueryをエンキューする必要があります。(Wordpress には既に jquery があるため) > wp_enqueue_script('jquery');
JavaScript を使用して PHP への単純な ajax 呼び出しを作成する必要があります (HTML ページでこれを実行できるかどうか、またはテンプレート フォルダーにアップロードする別のファイルにする必要があるかどうかはわかりません (?)
PHP ファイルは次のようになります。
ob_start();
$curl_handle=curl_init();
curl_setopt($curl_handle, CURLOPT_URL,'http://us01.proxy.teleduino.org/api/1.0/328.php?k={MY_API_KEY_HERE}&r=getAnalogInput&pin=14');
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Your application name');
$Aresults = curl_exec($curl_handle);
curl_close($curl_handle);
$Adata = json_decode($Aresults, true);
$Amess = $Adata['message'];
$Astat = $Adata['status'];
$Amoisture = $Adata['response']['values'][0];
$Atime = $Adata['response']['time'];
echo $Amoisture;
echo " : ";
echo $Astat;
echo " : ";
echo $Amess;
if ($Amess == "Key is offline or invalid.") {
echo "[div class=\"cooo\"] Spike is sleeping [/div]";
}
などなど
この PHP ファイルは一意の名前で保存する必要があり、その後 ajax で呼び出すことができますが、正しく取得できないようです。
「teleduino」からの JSON get 要求応答は、次の形式です。
{"status":403,"message":"キーがオフラインまたは無効です。","response":[]}
オンラインの場合、最後に数値があります(最初のページの読み込み時にPHPコードで正常に抽出しています)。その PHP を JavaScript から呼び出す方法がわかりません。Web ページに表示される数字を取得する唯一の方法は、「ページと投稿で PHP を許可する」プラグインをインストールしてから、ページに PHP コードを記述することでした。しかしもちろん、javascript/ajax でその数値を更新する方法が必要です。
get リクエストを送信する URL は次のようになります: http://us01.proxy.teleduino.org/api/1.0/328.php?k= {MY_API_KEY_HERE}&r=getAnalogInput&pin=16 - 電圧測定機能を持つコントローラー)。
どんなアイデアや助けも本当に感謝しています - ありがとう!!! :)