WordPressの関連URL取得方法

WordPressもブログツールとして使う分にはシステム的なことはあまり意識しませんが、WEBサイト開発のプラットフォームとして利用する場合は、テーマフォルダにアップロードした画像へのリンクの取得方法とか、サイトの基本情報の取得方法とかを意識せざるを得なくなります。

WordPressによるWEB開発は、基本テンプレート開発になるので、テンプレートタグと呼ばれるWordPress関数の呼び出し方や、追加機能を関数として実装し、プラグインとしてパッケージ化する知識が必要になります。

index.phpとstyle.cssの2つはテーマフォルダ直下にないとエラーになる

本来「外観>テーマの編集」のエディタからテンプレートファイルやスタイルシートを直接編集すると、バックアップが作成されず危険なのでやらないのが常識ですが、僕は小さい修正は直接やっちゃいますが、ときどきコードミスでWEBサイトが真っ白になってあせります。

そもそもテーマには最低でもstyle.cssとindex.phpの2つがテーマフォルダ直下に存在しないと、以下のエラーでテーマの選択すらできません。

  • 壊れているテーマ
    以下のテーマはインストールされていますが不完全です。テーマにはスタイルシートとテンプレートが一つずつ必要です。

この場合、編集可能なテンプレートファイルとスタイルシートはテーマフォルダ直下のファイルのみなのですが、スタイルシートはテーマフォルダ直下ではなく、cssという子フォルダに配置したいので、テーマフォルダ直下にはコメント部分のみ記載したダミーstyle.cssを配置します。

cssフォルダ内の本物cssへのリンクはheaderテンプレートから張りますが、もちろん「テーマ編集」のエディタでは編集できません。

ここでテンプレートフォルダのURLを取得するテンプレートタグが登場します。

get_template_directory_uri();

ブラウザのソースで確認すると

という感じに絶対パスを取得しています。

WordPressのアドレスとサイトのアドレスとテンプレートフォルダのアドレス

「設定>一般」にある「WordPressのアドレス」は WordPressのインストール先のURLで、「サイトのアドレス」はそのWordPressにアクセス先のURLになり、一般的には「WordPressのアドレス」を変更するケースはなく、「サイトのアドレス」にドメインネームを設定し、プロバイダのコントロールパネル上にてアップロードフォルダとマッピングすることになります。

当サイトは2つのマルチサイトをサブディレクトリで分けており、IT系のネタはインストール先もアクセス先もルートhttps://www.indonesia-japan.com/、世間話系のネタはインストール先もアクセス先もhttps://www.indonesia-japan.com/blogになっており、仮に世間話系の「サイトのアドレス」をIT系のものと同じhttps://www.indonesia-japan.com/に修正してしまうと、IT系の「サイトのアドレス」とバッティングしてしまうのアクセスできなくなります。

サイトのURLとテンプレートディレクトリのURL

テンプレートディレクトリを取得するget_template_directory_uri()は「/wp-content/themes/テーマ」を追加してくれます。

先頭のバックスラッシュはありますが、末尾はないので自分でつける必要があります。

「WordPressのアドレス」のURL

非常にややこしいですが、get_bloginfoはget_optionのラッパー(ユーティリティ)です。

「サイトのアドレス」のURL

PHPの関数やスーパーグローバル変数でURLを取得

HTTPレスポンスヘッダにLocationヘッダを追加することで、接続しているブラウザにリダイレクトを指定できますが、ベタでURLを書くのではなく汎用性も持たせるために、PHPのスーバーグローバル変数$_SERVERからHTTP環境変数を指定します。

dirname($_SERVER[“PHP_SELF”])は稼働中PHPファイルの親ディレクトリ(カレントディレクトリ)を返します。

こんな投稿も読まれています