クライアント様からのちょっと特殊な依頼で、WordPress で構築しているサイトで、現在表示しているページの URL を表示させる必要に迫られました。
実はコレ、かなり需要があるんですよね。
例えばFacebookやTwitterなどの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 でも取得できますね。