WordPressの各ページURLを取得・表示してリンクを貼る方法

50種類以上のIT教材を無料で使える!
0円から学習できるオンラインITスクール「侍テラコヤ」
→さっそく登録する

こんにちは! ライターのナナミです。

WordPressのURL、いろんな種類がありますよね。
記事のURL、固定ページのURL、トップページのURLなどなど…

そんなURLをいちいち手作業で貼っていくのは手間ですよね。
しかもちょっとURLの設定を変えたりした時、また貼り直しになるとさらに手間がかかってしまいます

そんな時は、URLを取得して表示するコードを書いちゃいましょう!
今回はその方法を詳しく解説していきます。

この記事は下記の流れで進めていきましょう。

【基礎】URLの取得方法は?
【基礎】テンプレートタグとは?
【基礎】URLを取得するテンプレートタグ
【発展】「取得」と「表示」の違い
【発展】固定ページや記事でURLを表示する

URLの取得を理解して、リンク貼りを楽チンにしちゃいましょう!

URL取得の方法とは?

WordPressでは、コードによってURLを取得することができます。

wp_url1

取得するコードは、WordPress独自の関数となっています。
PHPで作られており、使い方もPHPに組み込むような形です。

PHPのライブラリのような感じですね


【何から学べばいいかわからない…そんな悩みを解決します!】

完全無料ですぐわかる「プログラミング学習プラン診断」

・適性にあわせて学習プランを診断
・完全無料で気軽に診断できる
・学習の悩みもまるっと解決

さっそく診断してみる

テンプレートタグとは?

WordPress関数の中でも、テンプレート内で使うものをテンプレートタグと言います。
今回解説していくURLの取得も、テンプレートタグを使用します。

テンプレート内、つまりテーマフォルダ内のPHPファイルに記述するタグです。

wp_url2

これらのファイルに記述することにより、データベース内からURLを取得して表示することができるのです。

テンプレートタグについては、リファレンスも併せて確認してみるとより理解することができます。
WordPress Codex 日本語版 テンプレートタグ

URLを取得するテンプレートタグ

では、各ページのURLを取得することができるテンプレートタグを紹介していきましょう!

ささっとコピペで使える形式で紹介していくので、詳細は各リファレンスで確認してみてくださいね。

トップページ

トップページのURLを取得する場合、home_url()というテンプレートタグを使用します。

PHP

<?php
echo home_url( '/' );
?>

出力例

http://test-wp.test/

home_urlは名前の通り、ホームのURLを取得するものです。
これをechoで呼び出すことにより、ソース内に表示することができます。

カッコ内のスラッシュは、URLの最後にスラッシュを入れるために記述しています。

リファレンスはこちら
WordPress Codex 日本語版 テンプレートタグ/home url

固定ページ

固定ページの場合、get_page_link()を使います。

PHP

<?php
echo get_page_link( $id );
?>

出力例

http://test-wp.test/固定ページのURL

$idの部分には、固定ページのIDを記述します。
これでページのURLを変更しても、IDが変わらなければリンクを貼り直す必要がありません。

リファレンスはこちら
WordPress Codex 日本語版 関数リファレンス/get page link

記事ページ

記事ページのURL取得は、get_permalink()を使います。

PHP

<?php
echo get_permalink( $id );
?>

出力例

http://test-wp.test/記事URL

固定ページと同じく、記事のIDで指定をします。

記事を繰り返し表示するループという記述を使っている場合は、IDの部分は空白にしておきましょう。
ループ時に勝手にIDを入れて処理をしてくれます。

ループって何?という方は、下記の記事を確認してみてください。
https://wp-exp.com/blog/loop/

get_permalink()のリファレンスはこちら
WordPress Codex 日本語版 テンプレートタグ/get permalink

カテゴリーアーカイブページ

カテゴリーごとに一覧を表示したいという場面はよくありますよね。
そんなカテゴリーアーカイブページへのリンクは、get_category_link()を使います。

PHP

<?php
echo get_category_link( $id );
?>

出力例

http://test-wp.test/category/カテゴリ名

カテゴリーにも一つ一つにIDが付与されています。
$idの部分には、そのIDを入れればOKです。

リファレンスはこちら
WordPress Codex 日本語版 関数リファレンス/get category link

WordPressテンプレートファイルの位置

画像やファイルを表示する時、相対パスよりも絶対パスの方がいい!という場面があったりしますよね。

そんな時は、get_template_directory_uri()を使えば、テーマのファイルまでのパスを取得してくれます

PHP

<?php
echo get_template_directory_uri();
?>

出力例

http://test-wp.test/wp-content/themes/twentyseventeen

この後ろに画像などURLをつければ、もしアドレスを変更したりしても書き換える必要がありません

リファレンスはこちら
WordPress Codex 日本語版 関数リファレンス/get template directory uri

その他の基本テンプレートタグ一覧

ここまで紹介してきたものは、よく使う基本的なテンプレートタグです。
これ以外にも、いろんなURLを取得するテンプレートタグが存在しています

全て紹介するととても長くなってしまうので、一部をピックアップして紹介していきますね。

テンプレートタグ説明出力例リファレンス
get_bloginfo( $show )$showの部分に色々と指定を入れることで、ブログの情報を取得することができます。$showの値によるWordPress Codex 日本語版 テンプレートタグ/get bloginfo
get_day_link( $year, $month, $day )日別アーカイブページのリンクを取得します。http://test-wp.test/?m=20150313WordPress Codex 日本語版 テンプレートタグ/get day link
get_tag_link( $id )タグごとの一覧ページ、タグアーカイブページヘのリンクを取得します。$idの部分には、タグのIDが入ります。http://test-wp.test/?tag=wordpressWordPress Codex 日本語版 関数リファレンス/get tag link
get_term_link( $id )カスタム分類アーカイブページヘのリンクを取得します。
カスタム分類とは何か知りたい方はこちら。
WordPress Codex 日本語版 カスタム分類
http://test-wp.test/custom-taxonomyWordPress Codex 日本語版 関数リファレンス/get term link

もっと他の種類が知りたい方は、リファレンスで確認してみてください。
WordPress Codex 日本語版 テンプレートタグ


【何から学べばいいかわからない…そんな悩みを解決します!】

完全無料ですぐわかる「プログラミング学習プラン診断」

・適性にあわせて学習プランを診断
・完全無料で気軽に診断できる
・学習の悩みもまるっと解決

さっそく診断してみる

「取得」と「表示」の違い

さて、ここでちょっと注意点です。
WordPressのテンプレートタグには、取得をするものと表示をするものがあります。

【取得】
getで始まるテンプレートタグです。
その値を取ってくるところまでやってくれますが、表示はしてくれません。
なので、表示する場合はechoをつける必要があります。

【表示】
theで始まるテンプレートタグです。
値を取ってきて表示するところまでやってくれます。
この場合はechoをつける必要はありません。

あれ?表示されない?
と思ったら、そのテンプレートタグが「取得」なのか「表示」なのかをチェックしてみましょう。

今回の記事はわかりやすいように「取得」するテンプレートタグのみ紹介しています。
「表示」のテンプレートタグは、リファレンスなどで確認してみてくださいね。
WordPress Codex 日本語版 テンプレートタグ

固定ページや記事でURLを表示する

テンプレートタグは、PHPファイル内でしか使うことができません
つまり、固定ページや記事では上記のテンプレートタグは使えないのです。

でも固定ページにリンク貼りたい…

という場合は、ショートコードを使って表示するようにしましょう。
ショートコードとは、PHPやWordPress関数を固定ページなどでも使えるようにする機能です。

詳しい解説は下記の記事をどうぞ!

まとめ

いかがでしたか?

URLの取得はページによって違うので、なかなか覚えるのは大変だと思います。
わからなくなったら、またこの記事でチェックしてみてくださいね!

プログラミング学習中、
誰かへ相談したいことはありませんか?

SAMURAI TERAKOYA

プログラミングはエラーの連続。作業を進めるなかで誰かに教えてほしい場面は多いですよね。

そんな悩みを解決できるのが、侍テラコヤです。登録無料で始められて、現役エンジニアとオンラインで相談できるほか、回答率100%のQA掲示版でプログラミングに関する悩みを解決します!

気になる方はぜひ詳細をご覧ください。

→侍テラコヤの詳細をみる

侍エンジニアは「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。プログラミングに役立つ情報や有用な情報を発信していきます。

あなたの目的に合わせた
SAMURAI ENGINEERの運営サービス

SAMURAI ENGINEER Pro

未経験でも挫折しないプログラミングスクール

詳細はこちら

SAMURAI TERAKOYA

日本最大級のサブスク型オンラインITスクール

詳細はこちら

SAMURAI ENGINEER Freelance

「一人で稼げる」スキルを身につける

詳細はこちら
Close