WordPressのマルチサイトでサイトに応じたclassを出力する

フォーラムの「WordPress ヘッダータイトル文字を画像に変える」に回答したネタ。

マルチサイトで、サイト毎にちょっとだけデザインを変えたいときなんかに、bodyのclassにサイトに応じたクラス名を追加してくれます。
使い途あるといいな。。

クラス出力例

<body class="home blog logged-in admin-bar single-author site-child two-column right-sidebar">

CODE 1

function add_multisite_class( $classes ) {
	global $current_blog, $current_site;
	if ( is_multisite() ) {
		if ( is_main_site() ) {
			$classes[] = 'main-site';
		} else {
			if ( is_subdomain_install() ) {
				$slug = substr( $current_blog->domain, 0, strpos( $current_blog->domain, '.' ) );
			} else {
				$slug = trim( $current_blog->path, '/' );
			}
			$classes[] = 'site-' . $slug;
		}
	}

	return $classes;
}
add_filter( 'body_class', 'add_multisite_class' );

コメントを残す

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