LION Mediaのカテゴリ数制限を解除し、複数つけるカスタマイズ【WordPressテーマ】

LionMediaに複数カテゴリをつけられるようにするカスタマイズ

AMP対応、Googleスコアのよさ、デザインはかっこいいなどなどで人気の無料WordPressテーマ LION Media

初心者でも使いやすいし余計なカスタマイズなんて余地が見当たらないほど完成度の高い優秀なテーマです。

本サイトではLuxeritasを使っていますが、私もLION Mediaのサイトも複数運営しています。

で、LION Media唯一不満を上げるとすれば、記事にカテゴリをひとつしかつけられない点

なんなんだこれライオンは浮気しないとでもいいたいのか。

しかし、ついにカテゴリを複数つけられるようにするカスタマイズ方法を発見!

LION Media本体か子テーマのfunction.phpをカスタマイズ

LionMEDIAテーマは記事に一つしかカテゴリをつけることができない

敵のスタンド能力によりひとつの記事に複数のカテゴリをつけられないLION Media。

複数カテゴリにチェックをつけられないようにしているのはLionMediaテーマ本体のfunction.php上。

//////////////////////////////////////////////////
//投稿ページカテゴリー選択を1つのみに変更
//////////////////////////////////////////////////
function limit_category_select() {?>
	<script type="text/javascript">
	jQuery(function($) {
		// 投稿画面のカテゴリー選択を制限
		var categorydiv = $( '#categorydiv input[type=checkbox]' );
		categorydiv.click( function() {
			$(this).parents( '#categorydiv' ).find( 'input[type=checkbox]' ).attr('checked', false);
			$(this).attr( 'checked', true );
		});
		// クイック編集のカテゴリー選択を制限
		var inline_edit_col_center = $( '.inline-edit-col-center input[type=checkbox]' );
		inline_edit_col_center.click( function() {
			$(this).parents( '.inline-edit-col-center' ).find( 'input[type=checkbox]' ).attr( 'checked', false );
			$(this).attr( 'checked', true );
		});
		$( '#categorydiv #category-pop > ul > li:first-child, #categorydiv #category-all > ul > li:first-child, .inline-edit-col-center ul.category-checklist > li:first-child' ).before( '<p style="padding-top:5px;">カテゴリーは1つしか選択できません</p>' );
	});
	</script>
  <?php }
add_action( 'admin_print_footer_scripts', 'limit_category_select' );

上記jQueryで二つ以上のカテゴリがクリックできないように制限をかけています。

LION Media本体のfunction.phpより上記の部分を削除してしまえばカテゴリを複数チェック可能になります。

子テーマをいじる場合

上記のカスタマイズ方法では親テーマであるLionMedia本体の直接いじる必要があります。しかし、子テーマのfunction.phpをいじることでも対応可能。

初心者の方など、親テーマのfunction.phpをいじるのに抵抗がある場合は子テーマに下記をコピペしましょう。

// 投稿ページのカテゴリーを1つだけ選択可能制限を無効に修正
function remove_action_limit_category_select() {
remove_action('admin_print_footer_scripts','limit_category_select');
}
add_action('after_setup_theme','remove_action_limit_category_select');

ユーザーカスタマイズエリアとある下、?>より上に入力しましょう。?>はPHPの閉じコードなので、この下に書くと効果なし&入力したコードがサイト上に表示されるなどの不具合を起こします。

ユーザーカスタマイズエリアとある場所より上は親テーマを読み込む記述がなされています。触らないでください。

実際の子テーマfunction.php入力例は下記。

//////////////////////////////////////////////////
//下記ユーザーカスタマイズエリア
//////////////////////////////////////////////////

// 投稿ページのカテゴリーを1つだけ選択可能制限を無効に修正
function remove_action_limit_category_select() {
remove_action('admin_print_footer_scripts','limit_category_select');
}
add_action('after_setup_theme','remove_action_limit_category_select');

?>

LION Mediaテーマ本体のアップデートが行われる可能性もありますし、どちらかといえば子テーマをカスタマイズする方がオススメです。

ただし、LION Mediaは子テーマも提供されているものなので、子テーマがアップデートされる可能性もあります。

また、子テーマとはいえfunction.phpはデリケートなもの。下手にいじるとWordPressに異常が出るので慎重に。

親テーマでやるにせよ子テーマでやるにせよ、FTPでバックアップをとっておくと安心です。

実際に複数つけてみるとこんな感じで表示される。

カテゴリを複数つけたLION Mediaのサムネイル画像

カテゴリを複数つけた場合のサムネイル。

上記のように、カテゴリを複数つけてもサムネールにもちゃんと表示されるようになりました。

カテゴリをつけまくってもすべて表示されます。ただ、数が多すぎてサムネールの枠を超えると表示が切れるので注意。

このとき、サムネイルに並ぶ順番はカテゴリの表示順番。

LION Mediaではカテゴリごとにイメージカラーを設定できますが、複数のカテゴリをつけた場合は一番上にあるカテゴリのイメージカラーで統一されます。

カテゴリの順番はデフォルトでは並び替えられないので、気に入らない場合はCategory Order and Taxonomy Terms Orderなどのプラグインを導入し、入れ替えましょう。

参考にしたサイト

参考サイトというかもうそのまんまです。

上記のサイトではLION Mediaの姉妹テーマLION Blogで複数カテゴリをつける方法を解説しています。

で、確認したところLION Mediaのfunction.phpをみたら1記事1カテゴリに制限する部分はLION Mediaでも全く同じ。

おかげさまでLION Mediaでも記事にカテゴリ複数つけられるようになりました。多謝感謝。

まとめ:LION Mediaのカテゴリ数制限を解除し、複数カテゴリをつけるカスタマイズ

  • WordPressテーマ LION Mediaはカテゴリを一つしかつけることができないが、カスタマイズで対応可能。
  • 親テーマのfunction.phpで制御しているコードを消すことで二つ以上のカテゴリをつけられるように。
  • 子テーマのfunction.phpに制御コードを消すコードを追加するのもあり。

もともとLION Mediaでも、カテゴリに親子関係を持たせることで疑似的にカテゴリを複数つけることは可能でした。

が、このカスタマイズを加えることでLION MediaでもほかのWordPressテーマと同じように好きなだけテーマをつけることができるように。

ユーザビリティを考慮しつつ、サバンナの動物たちのように自由にカテゴリ階層をつけちゃいましょう!