気軽に読めるPHP入門書・PHPスクリプトが動かないときの原因と対策などを紹介します。

  1. WordPress
  2. 9 view

住所をGoogleマップリンクに変換したい

記事で紹介した場所へのGoogleマップリンクを記事の最後などに追加したい場合、何度も記事本文にリンクのHTMLタグを入力するのは面倒です。「住所」というカスタムフィールドを作成して、Googleマップリンクに変換するPHPスクリプトをテンプレートの中に記述しておけば楽でしょう。

●手順1:カスタムフィールドの作成
カスタムフィールドメニューの「新規追加」をクリックして、「名前」に「住所」と入力して値に住所を入力します。「カスタムフィールドを追加」をクリックすると、その記事の「住所」カスタムフィールドとして追加されます。

カスタムフィールドの作成

※カスタムフィールド入力用のテキストボックスが表示されない場合は、ダッシュボード右上の「表示オプション」をクリックして「カスタムフィールド」をチェックしましょう。

●手順2:カスタムフィールドをリンクに変換するコードの追加
リンクを表示したいテンプレート(例:index.php、single.phpなど)を開き、Googleマップリンクを表示したい場所に次のコードを追加します。

<?php
$address = post_custom('住所');

if (!empty($address)) {
    $address2 = urlencode($address);
    $zoom = 15;
    $url = "http://maps.google.co.jp/maps?q={$address2}&z={$zoom}";
    echo "<p>【所在地】{$address} <a href=\"{$url}\" target=\"_blank\">[地図]</a></p>";
}
?>

post_customは、「住所」カスタムフィールドの値を取得しています。
「if (!empty($address)」は、「住所」が入力された場合のみに処理するための条件分岐です。
urlencode関数は、文字列をURLで使える値にエンコードしています。
$zoomは、Googleマップのズームレベルです。
$urlにGoogleマップのURLを組み立てて、リンクタグを表示しています。

○実行結果(例)
カスタムフィールドからGoogleマップリンクを作成

テンプレートに記述したレイアウトや文言を変更すれば、すぐに記事にも反映されます。毎回GoogleマップリンクのHTMLタグを記事に入力していくと、レイアウトを変更したい場合は、一括変更しなければなりません。「住所」に限りませんが、カスタムフィールドを作成しておいてレイアウト部分はテンプレートの中にPHPスクリプトを記述する形式にすれば、定型項目に関する作業の手間が省けます。

WordPressの最近記事

  1. WordPressでいつの間にか作成される「php.suspected」ファイルとは

  2. 検索順位のチェックに役立つツール「GRC」

  3. WordPressのテーマを作成したいならPHPは必修!

  4. 「Notice: Constant HEADER_IMAGE_WIDTH already …

  5. 「Fatal error: Cannot redeclare」と表示されるとき

関連記事

PAGE TOP