質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Google マップ

Google Mapは、Google社がオンラインで提供している地図・ローカル検索サービスです。GIS(Geographic Information System:地理情報システム)の中の「WebGIS」に該当します。地図・航空写真・地形の表示方式があり、それぞれユーザーが縮尺を調整して表示させることができます。地域の情報サービスを検索する機能やルート検索の機能も搭載されています。

Q&A

2回答

1043閲覧

Advanced Custom Fieldsのgoogle mapフィールドをcsvで投稿

退会済みユーザー

退会済みユーザー

総合スコア0

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Google マップ

Google Mapは、Google社がオンラインで提供している地図・ローカル検索サービスです。GIS(Geographic Information System:地理情報システム)の中の「WebGIS」に該当します。地図・航空写真・地形の表示方式があり、それぞれユーザーが縮尺を調整して表示させることができます。地域の情報サービスを検索する機能やルート検索の機能も搭載されています。

0グッド

0クリップ

投稿2018/07/28 12:44

編集2018/07/29 05:51

前提・実現したいこと

Advanced Custom Fieldsのmapフィールドは、簡単な住所(市区町村と社名など)を入力するだけで入力した住所にマ-カ-を立てることができ便利なのですが、csvファイルからの投稿を登録した場合、このmapフィールドに住所情報が入っていかず困っています。(手入力で登録すれば問題ないのですが、大量にあります)また、csvインポートはReally Simple CSV Importerを使用しております。

調べたところ、下記URLに答えが書かれていそうなのですが、ちょっと内容が難しくてわからず困っています。

https://ja.forums.wordpress.org/topic/134082?replies=5

http://notnil-creative.com/blog/archives/3465

https://wordpress.org/support/topic/import-acf-google-map-field/

上記URLペ-ジに書かれている事を噛み砕いて解説していただくか、ズバリな解決方法をご提示いただけませんでしょうか。

試してみたこと

https://gist.github.com/hissy/ebb1d317f9abc190b901

上記URLペ-ジのzipをダウンロードし、wordpressプラグインとしてダウンロードしました。

public function convert_gmap($meta, $post, $is_update) { // serialize metadata $gmap_field = array(); if (isset($meta['lat']) && isset($meta['lng'])){ $gmap_field['lat'] = $meta['lat']; $gmap_field['lng'] = $meta['lng']; $gmap_field['address'] = $meta['address']; unset($meta['lat']); unset($meta['lng']); unset($meta['address']); } $meta['field_54899effa7dbe'] = $gmap_field; // please change the field key to yours return $meta;

gistfile2.php内の上記コードを書き換えを色々試してはいますが、希望の結果にはなりません。また、field keyが正しいのかさえわかりません。

何卒、宜しくお願致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

https://ja.wordpress.org/plugins/really-simple-csv-importer/
プラグインページを参考にCSVファイルの地図データ部分を連想配列でシリアライズした状態で保存すればいいだけかと。

really_simple_csv_importer_save_metaを使って

function really_simple_csv_importer_save_meta_filter( $meta, $post, $is_update ) { $meta_array = array(); if (isset($meta['lat'])) $meta_array['lat'] = $meta['lat']; if (isset($meta['lng'])) $meta_array['lng'] = $meta['lng']; $meta = array( 'map' => $meta_array ); return $meta; } add_filter( 'really_simple_csv_importer_save_meta', 'really_simple_csv_importer_save_meta_filter', 10, 3 );

mapには自身のカスタムフィールドのキーを指定。

住所だけを保存しても地図は表示できないので、住所は不要で緯度経度が必須。

post_titlepost_statuspost_typelatlng
testpublishpost35.710233139.810709

投稿2018/07/29 13:12

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/07/30 01:20

コメント有難う御座います。 ``` add_filter( 'really_simple_csv_importer_save_meta', 'really_simple_csv_importer_save_meta_filter', 10, 3 ); ``` の部分がエラーが出ました。また、カスタムフィールドのキーはmeta_keyでよろしいでしょうか?宜しくお願い致します。
退会済みユーザー

退会済みユーザー

2018/07/30 13:11

>エラーが出ました そうですか。じゃあ諦めてください。 >カスタムフィールドのキーはmeta_keyでよろしいでしょうか? どのような設定か環境が一切不明なので分かりません。
guest

0

うまくいかないだけでは、どこが悪いのかわかりません。
どこをどのように書き換えたのでしょうか?
どのような結果を期待していて、どのような結果になったのでしょうか? 


field_54899effa7dbe の部分は、acf でカスタムフィールドを定義した時に ACF が割り振る フィールド ID ですので、環境により異なります。
お使いの環境の ACF で定義した「カスタムフィールド」の フィールド ID に書き換えましたか?

どのようなカスタムフィールドを定義して、どのような CSV ファイルをインポートして、どのような値が入ることを期待しているのでしょうか。

投稿2018/07/29 03:06

編集2018/07/29 08:12
CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/07/29 09:09

コメントありがとうございます。google mapのカスタムフィールドをCSVで簡単な住所(市区町村と社名など)一括投稿したいということです。エラーも出てなく私自身どこが悪いかも検討つきません、またこのコードが正しいのかすらわかりません。 カスタムフィールドでのgoogle map箇所のIDは"map"なので、[field_54899effa7dbe]の部分を「カスタムフィールド」の フィールド ID"map"に試してみましたがエラーがでました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問