マルチサイトのbodyのクラスにスラッグやサブドメインの先頭のを追加する

<body <?php body_class(); ?>>

としておくと、色々な便利なクラスを自動で付与してくれますが、マルチサイトで各サイトを識別する際にクラス名を加えたいのです。

下記のようにしてみました。
サブドメイン型の時のものなので、サブディレクトリ型の時は少しだけ違います。

function sitenameToBodyclass( $classes ) {
	global $blog_id;
	$siteUrl = get_blog_option( $blog_id, 'siteurl' );
	$searchword = array( 'http://', '.example.com' );
	$sub = str_replace( $searchword, '', $siteUrl );
	$classes[] = $sub;
	return $classes;
}
add_filter( 'body_class', 'sitenameToBodyclass', 20 );

↓ プラグインを作る方々への本、書きました。 ↓

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です