WordPress 3.1にカスタムフィールド Custom Field GUI Utility をいれ、

Google Maps Anywhere (地図表示) をさせたいのですが、一向に地図が表示できません。
post内で他のCustom Field GUI Utility は表示されております。
マップの入れ方などが問題なのか、設定が良くないのかが不明です。
どうかアドバイスをお願いします。

■ Custom Field GUI Utility のconf.ini
[Lat_Long]
fieldname = マップ座標
type = mapfield
class = post
size = 60

■ 下記からやり方をいただいてます。
http://www.devolen.com/blog/wp_plugin/google_maps_anywhere_custom_field_gui_utility/

バージョンが違うのか?対応してないのでしょうか?

回答の条件
  • 1人20回まで
  • 13歳以上
  • 登録:2011/06/27 11:51:40
  • 終了:2011/06/30 18:57:19

ベストアンサー

id:rouge_2008 No.1

rouge_2008回答回数594ベストアンサー獲得回数3512011/06/28 10:23:02

Lightbox風のダイアログで、場所を指定した後で「カスタムフィールドを追加」をクリックすると、カスタムフィールドが自動で追加されます。

f:id:rouge_2008:20110628103328p:image

カスタムフィールドの標準の編集ボックス(削除・更新ボタン)が表示されていなければ、右上のリンクから表示オプションを表示して、「カスタムフィールド」にチェックを入れて確認してみてください。

(※2つあると思いますが、おそらく1つ目が「Custom Field GUI Utility」で2つ目の方が標準のカスタムフィールドです。)


「type = mapfield」ではなく「type = textfield」で、「Custom Field GUI Utility」にマップ座標(Lat_Long)の入力欄が表示されます。

[Lat_Long]
fieldname = マップ座標
type = textfield
class = post
size = 35

上に書いたとおり、カスタムフィールドの標準の編集ボックスの方には自動で追加・セットされますが、「Custom Field GUI Utility」の入力欄にはセットされませんので、「更新」ボタンを押して記事を保存すると「Lat_Long」が消えてしまいます。

更新(保存)前に、標準のカスタムフィールドの編集欄から、「Custom Field GUI Utility」の入力欄にコピー&ペーストすると大丈夫ですが、手順が増えるだけですので、Google Mapに関しては「Custom Field GUI Utility」を使用しない方が良いのではないかと思います。


※「footer.php」の書き換えで、WordPressのURLをご自分の環境に合わせて変更済みかも確認してみてください。

<?php if(post_custom('Lat_Long')): // Lat_Longのキーがある時に下記のスクリプトを挿入?>
<script type="text/javascript" src="http://設置したURL/wp-content/plugins/google-maps-anywhere/js/google-maps-anywhere.min.js"></script>
<?php endif; ?>


すべてのコードの書き換えを説明通りに行ったのでしたら、おそらく保存時にLat_Longが消えているのではないかと思います。


※画像追加の為訂正しました。

id:Becky_moni

rouge_2008さん 説明ありがとうございます。

type = textfieldでもやってみましたが、どんな事をやっても無理だと断念しました。

カスタムフィールドにはLat_Longは残っていました。

仰るように他の方法で行っていますが、なかなか良いものがありません。

機能的に優れてはいますが、海外版なのでいまいち使い方がわからない

geo-mashup-custom を設置してます。

もし他でもカスタムフィールドに入れられるものがあれば教えてほしいです。

次はsimplemapを試してみようと思っています。

2011/06/30 01:04:06
  • id:rouge_2008
    ※少し追加して再度コメントしています。

    記事内への表示は可能だったのでしょうか?
    とりあえず次の手順を確認して、記事内への表示が出来るか確認してみてください。
    http://wppluginsj.sourceforge.jp/googlemaps-anywhere/

    ※Google Mapに関するプラグインを利用していたら、「Google Map Anywhere」以外は念のために一旦停止させます。(その他のプラグインもなるべく停止させて試してください。)
    ※「Custom Field GUI Utility」は有効にしたままで大丈夫ですが、「Lat_Long」に関する設定は「conf.ini」から削除するか、あるいは行頭に「;」を付けて無効にします。


    記事内への表示が大丈夫だった場合は、別の記事を新規作成するか、あるいは記事から「Google Map Anywhere」が挿入したコードを削除してから、任意の箇所への表示を一から試してみてください。
    ※任意の箇所への表示では、「Custom Field GUI Utility」を有効にしたままにします。(ただし、設定に関してはそのまま(「Lat_Long」を追加しない)にします。)
    ※DEVOLENのサイトの手順を全て行う必要があります。(テンプレートの任意の箇所へのコード追加も説明通りに行います。自分のGoogle APIキーへの変更を忘れずに・・・)
  • id:rouge_2008
    記事を新規作成する場合は、一旦「公開」して記事を保存する必要があります。
  • id:rouge_2008
    返信での質問に関して追記します。
    Google MAPを表示するプラグインは、今回試した「Google Map Anywhere」が初めてで、他にどのようなプラグインがあるのかは知りません。
    少なくとも「Google Map Anywhere」でしたら、標準のカスタムフィールドに自動追加する事が出来ますので、「Custom Field GUI Utility」で作成した入力欄に自動入力されなくても、標準のカスタムフィールドに入力されるだけでも良くないでしょうか?
    ※動作に関して少し勘違いしていましたが、標準のカスタムフィールド編集機能を使用した場合は、最後に記事を「更新」する必要はなかったんですね。
    「Google Map Anywhere」でカスタムフィールドに追加後そのままブラウザを更新した場合と、「更新」ボタンで記事を保存せずに編集画面を一旦閉じてから開いた場合に、「Custom Field GUI Utility」で作成した入力欄に値が保存されているのを確認しました。(Firefox 5とGoogle Chrome 12で確認)
    値が入力された事を確認する必要があれば、標準のカスタムフィールドを確認するか、あるいは編集画面を読み込み直してみてはいかがでしょうか?
    地図表示に関しては、手順の通りに行えば表示されるはずですので、もう一度試してみてください。


    ※他のプラグインを停止した状態では表示されたけれど、有効にすると表示されないという場合は、他にインストールしているプラグインを教えてください。
  • id:rouge_2008
    何度もすみません。一つ書き忘れていました。
    カスタムフィールドは同じキー(名前)を複数追加できますが、同じキーが複数あると地図は表示されません。
    以前追加したキー(Lat_Long)をすべて削除してから試してみてください。
  • id:Becky_moni
    ご丁寧にありがとうございます。
    20近くプラグインが入ってしまってるので、他のプラグインとかち合ってしまっているという感じは否定できません。
    Google Map Anywhereでは、Custom Field GUI UtilityでLat_Longを使用しないでも試してみましたが、うまくいかなかったです。
    rouge_2008さんがうまく行くというのであれば、かち合っていたり、自分の設定のせいだと思います。
    いろいろありがとうございました。また結果わかったら報告させてください。
  • id:rouge_2008
    こちらでは問題なく動作しています。
    DEVOLENの手順にある変更以外、他には何も変更を加えていないですね?
    もし「Custom Field GUI Utility」をpluginsフォルダから削除して動作確認したのでしたら、テンプレートの任意の箇所に挿入したコードを、以下のコードに差し替えてみてください。
    ※「Custom Field GUI Utility」の関数「post_custom()」の代わりに、WordPressの標準の関数を使用するように変更してあります。


    <?php $data = get_post_meta($post->ID, 'Lat_Long', false); rsort($data); ?>
    <?php if($data != null):?>
    <div class="googlemaps">
    <a href="http://maps.google.com/maps?f=q&amp;hl=ja&amp;geocode=&amp;q=<?php echo $data['0']; ?>
    &amp;ie=UTF8&amp;ll=<?php echo $data['0'];?>&amp;t=h&amp;z=17&amp;maptype=G_NORMAL_MAP" title="<?php the_title(); ?>"><img src="http://maps.google.com/staticmap?markers=<?php echo $data['0'];?>
    ,red&amp;zoom=17;key=※ここにAPIキーを記述※&amp;hl=ja" alt="<?php the_title(); ?>の周辺マップ" title="<?php the_title(); ?>の周辺マップ" /></a>
    </div>
    <?php endif;?>


    ※「※ここにAPIキーを記述※」をご自分のGoogleMapAPIキーに変更してください。

    上記を試しても動作しない場合は、サーバー環境、WordPressやプラグインのバージョン等を添えて再質問してみてはいかがでしょうか?
    原因が分かる人がいるかもしれません。
    こちらにコメントがあれば、私で分かるようでしたら再度コメントします。
  • id:Becky_moni
    詳細ありがとうございます。
    現在、function.phpはスパゲッティ状態で、さらにプラグインも込み入ってる状態です。
    一度まっさらな状態で試してみます。
    本当にありがとうございました。
  • id:rouge_2008
    何度も何度もすみません。
    「post_custom()」は、「Custom Field GUI Utility」ではなくWordPressの関数でした。
    もし上でコメントした差し替え用のコードをまだ試していないのでしたら、ぜひ試してみてください。
    確認不足で失礼しました・・・
  • id:Becky_moni
    ありがとうございます。
    まだ試してませんでした。またご報告させていただきます。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません