カテゴリ判別してCSSやjsを変える
テーマを書き換えると簡単なんだけど、そっちはなるべく手を入れない方針なのでプラグインを探したが、どうやら無さそうなので、いんちきなphpを書いた。
最初の配列で「カテゴリーID」と「それに対応した色」を指定しておいて、それとマッチするカテゴリーがあった場合に「ヘッダの背景色を変えるCSS」「タイトル前にカテゴリ名でカテゴリの説明部分に記述したURLへのリンクを作るjs」を表示する。
本来こういうのはヘッダ部分を作成するphpに仕込むものだけどそれはしない方針なので、末尾のほうのウィジェットエリアに忍び込ませる方向で。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<?php $catcolor = array( 1 => "#ff0000", 3 => "#00ff00", 9 => "#0000ff", ); foreach((get_the_category()) as $cat) { if($catid = $cat->cat_ID){ if($catcolor[$catid]){ ?> <style> header.header-class { background-color: <?php echo $catcolor[$catid]; ?>; } </style> <script langage="javaScript"> document.body.innerHTML = document.body.innerHTML.split('<h1 class="header-title">').join('<div style="font-size:1.5em;"><a href="<?php echo $cat->description; ?>"><?php echo $cat->cat_name; ?></a></div><h1 class="header-title">'); </script> <?php } } } ?> |
最初の array が美しくない。何かいい手はないものか。