PHPを独学するなら、Udemyの動画講座で
PHP 7も使えて快適な エックスサーバー

記事で紹介した場所への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スクリプトを記述する形式にすれば、定型項目に関する作業の手間が省けます。

スポンサーリンク

こちらもどうぞ

こちらも参考にしてください

関連記事

MySQL

phpMyAdmin

PHPサンプルコード

PHP全般

PHP関数

エラーメッセージ

PHPの基礎が身に付いたかチェック!

PHP「直す力」養成ドリル
スポンサーリンク