クライアント様からのちょっと特殊な依頼で、WordPress で構築しているサイトで、現在表示しているページの URL を表示させる必要に迫られました。

実はコレ、かなり需要があるんですよね。

例えばFacebookTwitterなどのSNSとリンクさせる際のボタンに使うURL指定や、ブックマークのURL紹介、あるいは、問い合わせフォームなどに「hidden」で隠し要素として記入する場合、などなど。

WordPress ではテンプレートに <?php the_permalink() ?> と記述することで、とりあえずは表示しているページの URL を取得できますが、このタグは基本的に投稿記事用なので、他のページに推移した際にはうまく機能しません。

そこで「条件分岐タグ」を使うしかないな〜と考えていました。
WordPress には、現在表示中のページがどのようなカテゴリーに分類されるのかを識別する、いわゆる「条件分岐」のための便利なタグが用意されています。

この「条件分岐タグ」をうまく使えば『現在表示中のページの URL を取得する』という目的も達成されます。

し・か・し。

その方法だとコードが無駄に長くなってしまうんです。

もっと簡単に、一発で表示できるワザが欲しいですよね。

はい。
ありました。
灯台下暗しでした。
「条件分岐タグ」なんて難しいことは考えずに、普通に PHP を使えば一発でした。

以下、PHP を使って現在開いているページの URL をウェブページ上に表示する方法です。

<?php echo("http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]); ?>

オンズが大好きな「たったの1行」のコードです。

これなら WordPress は関係なく、PHP で作られたサイトであれば、どんなページの URL でも取得できますね。