#関数化したいコード
php
1 global $wpdb; 2 $ids = $wpdb->get_results( 3 " 4 SELECT DISTINCT post_id, meta_value 5 FROM $wpdb->postmeta 6 WHERE meta_key = 'exampleId'; 7 " 8 );
#関数化してみたコード
php
1 function getExampleIds($wpdb) { 2 $ids = $wpdb->get_results( 3 " 4 SELECT DISTINCT post_id, meta_value 5 FROM $wpdb->postmeta 6 WHERE meta_key = 'exampleId'; 7 " 8 ); 9 }
#foreach文
php
1 foreach (array($ids) as $id) { 2 $exId = $id->meta_value; 3 $json = getExData($exId); 4 $exNm = $json->ExList[0]->ExNm; 5 $prefNm = $json->ExList[0]->PrefNm; 6 $areaNm = $json->ExList[0]->AreaNm; 7 $latitude = $json->ExList[0]->Latitude; 8 $longitude = $json->ExList[0]->Longitude; 9 $exInnCd = $json->ExList[0]->ExInnCd; 10 $exSaleCd = $json->ExList[0]->ExSaleCd; 11 $timestamp = time(); 12 $updatedAt = date("Y-m-d H:i:s", $timestamp); 13 14 // wp_exs 15 $acmData = compact("exId", "exNm", "prefNm", "areaNm", "latitude", "longitude", "exInnCd", "exSaleCd", "updatedAt"); 16 insertDataToExsTable($acmData, $wpdb); 17 18 // wp_terms 19 $encodedExNm = rawurlencode($exNm); 20 $tagData = compact("exNm", "encodedExNm"); 21 insertDataToTermsTable($tagData, $wpdb); 22 23 // wp_term_taxonomy 24 $termId = $wpdb->get_var("SELECT term_id FROM wp_terms WHERE name = '$exNm'"); 25 insertDataToTermTaxonomyTable($termId, $wpdb); 26 27 // term_relationships 28 $postId = $id->post_id; 29 $termTaxonomyId = $wpdb->get_var("SELECT term_taxonomy_id FROM wp_term_taxonomy WHERE term_id = '$termId'"); 30 $relationshipData = compact("postId", "termTaxonomyId"); 31 insertDataToTermRelationships($relationshipData, $wpdb); 32 }
#エラーコード
- Warning: Invalid argument supplied for foreach()
#やってみたこと
- foreach文の$idsにarray()を加えました。
- 結果、エラー文は消えました。
- しかし、動かないです。
#検証したこと
- $idsをvar_dumpでチェックすると、nullと表示されました。
何か問題点は分かりますか?
教えて下さると幸いです。
回答1件
あなたの回答
tips
プレビュー