サポート » プラグイン » Simple-mapでカスタムフィールドに入れた住所から地図を表示させたい

  • 解決済 takaraism

    (@takaraism)


    SmartCustomFieldプラグインでカスタムフィールド「住所」を作り、記事でこのフィールドに「東京都千代田区永田町1-7」と入力しています。
    そこに、Simple-mapというショートコード内に住所を入れたらGoogleMapを呼び出す事ができるプラグインを使いたいと思っています。
    https://firegoby.jp/wp/simple-map

    ただ、ショートコードはテンプレートでは動かないので、

    カスタムフィールドを呼び出す
    <?php echo post_custom(‘住所のカスタムフィールド’)?>

    プラグインのショートコード
    [map addr=”東京都千代田区永田町1-7″]

    ショートコードをテンプレートに呼び出す
    <?php echo do_shortcode(‘[ショートコード]’); ?>

    この3つの命令をを組み合わせる必要があると考え、
    いろいろ調べてみて組み合わせてみました。ソースは以下の通りです。

    <?php
    $post_id = $post->ID;
    $key = ‘住所のカスタムフィールド’;
    $single = true;
    $address = get_post_meta($post_id, $key, $single);
    echo do_shortcode(‘[map addr=”$address”]’);
    ?>

    これを書いてみたところ、一応地図は出るのですが、
    カスタムフィールドの住所の地図じゃない地点の地図が出てしまいます。
    最後のechoのところを
    echo $address;
    にしたら、文字列として「東京都千代田区永田町1-7」と表示が出てくるので
    $addressは入力したカスタムフィールドの値が入ってきているのは確かと思われます。

    最後のechoの部分にある” と””の組み合わせが悪いのかなとか、ピリオドでつないでみたり・・・といろいろしてみるもうまくいきません。
    詳しい方のご意見をいただけたら幸いです。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • do_shortcode('[map addr="$address"]')

    do_shortcode( '[map addr="' . $address . '"]' )

    に変えれば大丈夫です。

    do_shortcode( ‘[map addr=”‘ . $address . ‘”]’ )

    で書いたら無事マップが表示されました!
    教えて頂きありがとうございました。

    地力でかなり近いところまで来ていたようですが、
    ‘の位置に惑わされてしまっていたようです。
    勉強になりました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「Simple-mapでカスタムフィールドに入れた住所から地図を表示させたい」には新たに返信することはできません。