WordPress

WordPressのマルチサイトでサイトを判別するPHPコード

投稿日:2018年2月26日 更新日:

WordPress では マルチサイトといって 1つのWordPress内に複数のサイトを作成する機能があります。(詳しくは、ネットワークの作成 – WordPress Codex 日本語版 をご覧ください)

マルチサイトを使っている場合に、PHPのコードで「今どのサイトなのか?」を判別する書き方をご紹介します。

ブログIDの取得

まず、判別したいサイトの ブログID(blog id) を調べます。

管理ページ左上の [参加サイト] – [サイトネットワーク管理] – [サイト] をクリックします。

ブログIDを知りたいサイトをクリックします。

ここで URL に表示された「id=○」の部分で id としてセットされている番号が、そのサイトのブログIDになります。

PHPコードの書き方

get_current_blog_id() という関数を使います。この関数は、「現在のサイトのブログID」を返してくれます。

参考

例えば、現在表示しているのが「ブログID が 3」のサイトであるかどうかは、以下のPHPコードで判別することができます。

<?php
if ( get_current_blog_id() === 3 ) {
        echo 'これは目的のブログです!';
}

実際には、プログラミングにおいて「判別式のところで直接番号を指定する」のは、あまりよくないですので、functions.php 内で定数として番号を定義して使うのがよいと思います。

functions.php

<?php
// ...
define( 'BLOG_ID_HOBBY', 3 );
// ...

任意のテンプレートファイル

<?php
// ...
if ( get_current_blog_id() === BLOG_ID_HOBBY ) {
        echo 'これは目的のブログです!';
}
// ...

まとめ

一言でまとめてしまうと、

  • get_current_blog_id()関数を使う

ということになります。

📂-WordPress
-

執筆者:labo


comment

メールアドレスが公開されることはありません。

関連記事

WordPress

WP Cerber Security で「jQuery is not defined」エラーが発生した場合の対処法

WordPress のプラグイン「WP Cerber Security」で「Uncaught ReferenceError: jQuery is not defined」というエラーが発生した場合の対処法を紹介します。

WordPress

WordPress: サイトヘルスの特定のチェック項目を無効にする方法

WordPress: サイトヘルスの特定のチェック項目を無効にする方法について説明します。

WordPress

WordPress テーマ STINGER 8 で、style.css の変更をすぐに反映させる方法

WordPress の無料テーマである STINGER 8 のカスタマイズのお話です。 スポンサードリンク 目次1. 問題点2. 対策準備作業style.css に変更を加えた後に必要な作業3. まと …

WordPress

WordPress プラグイン開発における多言語対応(gettextを利用する場合)

目次1. はじめに2. 想定している開発環境3. gettext のインストール4. 多言語対応の作業1. プログラム中の翻訳文字列を使用する箇所で、専用の関数を使うようにします。2. 翻訳ファイルを …

WordPress

All in One SEO Pack を使っている場合に、Search Console で noindex のエラーが発生する

All in One SEO Pack を使っている場合に、Search Console で noindex のエラーが発生した場合の対応方法について書きました。