プラグイン Google Maps v3 Shortcode を使う方法ではダメですか?
http://wordpress.org/extend/plugins/google-maps-v3-shortcode/
[map address="住所"]
で使えるようです。
プラグイン自体は英語ですが、Google検索をかけると日本語で解説しているサイトがたくさんあります。
ありがとうございます、実際にGoogle Maps v3 Shortcodeを使ってみました。
記事内への表示は出来たのですがこれを
カスタムフィールドと組み合す事は可能でしょうか?
例えば
‘[map address=”ここにカスタムフィールドの値” marker=”yes”]’
としてテンプレートに埋め込みたいのです。
試しにテンプレートファイルに書き込んだところ、コードがそのまま表示されて
地図は表示されませんでした。
私が無知なだけだとは思いますが何卒アドバイス願います。
テンプレート内で表示する場所が固定ならdo_shortcode
を使ってみてください。
http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/do_shortcode
サンプル:カスタムフィールドのキーが「adr」の場合。
<?php
if (function_exists('mapme')) {
$adr = esc_html(get_post_meta($post->ID, adr, true));
echo do_shortcode('[map address="'.$adr.'" marker="yes" w="400" h="300" z="14" id="shopmap"]');
}
?>
http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/do_shortcode
こちらでできると思います。
私も1月ごろにGoogle Maps Anywhereを使って作っていたのですがその時は確かにAPIキー取得ができたはずなのに
いざサーバを変えてやろうとしたらAPIキーが取れずにあっちこっち書き換える羽目になりました
ありがとうございます!
do_shortcodeの記述までは何とか成功しました。
ただ、表示される地図がアフリカのもっと向こうの海なんです・・・
カスタムフィールドの値を読んでいないんですかね?
<?php
if (function_exists('mapme')) {
$adr = esc_html(get_post_meta($post->ID, adr, true));
echo do_shortcode('[map address="'.$adr.'" marker="yes" w="400" h="300" z="14" id="shopmap"]');
}
?>
をコピーさせて頂き、文中のadrの部分2箇所をカスタムフィールドの値に書き換えました。
カスタムフィールドへの記述がダメなんですか?
get_post_meta
の「adr」だけをカスタムフィールドの「名前(キー)」にしてみてくださいね。
関数についてはCodexを参照してください。
コードにコメントを付け足してみますので、
どこを変更してみれば良いのか考えてみてくださいね。
<?php
// Google Maps v3 Shortcodeが有効化されている場合のみマップを表示する
if (function_exists('mapme')) {
// 変数「adr」(名前は任意)にカスタムフィールド「adr」の値を入れる
// その際、データのサニタイズもしておく
$adr = esc_html(get_post_meta($post->ID, adr, true));
// do_shortcodeでマップ出力。その際addressには変数「adr」の値を入れる
echo do_shortcode('[map address="'.$adr.'" marker="yes" w="400" h="300" z="14" id="shopmap"]');
}
?>
変数(ここではadr)に期待通りの値が代入されているかどうかは
<?php echo $adr; ?>
とでもして確認してみてください。
出来ました、ありがとうございます!!
上記のadrを書き換えたところ正常に表示されました。
この度はありがとうございます、またよろしくお願い致します。