45式::雑記
45式::雑記は、日々の事を記してないから日記ではなく雑記です。

wp.Vicuna.excでアイキャッチを使わない場合に0というクラス名が出力される

コメント
0件
トラックバック
0件

wp.Vicuna Ext. CustomテーマではVicuna Configで選択したアイキャッチに応じたクラスがbodyタグに付けられます。
アイキャッチを望まない場合にはnoneを選択すれば良いのですが、その場合のにちと問題がある事を確認しました。
この問題はwp.Vicuna.excで出力したサイトのbodyタグで確認できます。
一目で問題がわかるように、Header areaを選択した場合の正常な結果と上下で並べて見ました。

<body class="mainIndex double eye-h">
<body class="mainIndex double 0">

下行が問題の出力結果です。
0というクラス名が出力されていますが、これは必要ありません。
他の名前ならまだしも、数字だけのクラス名では使う事もできません。

いや、もしかしたら使う事ができるブラウザもあるかもしれませんが。
でもクラス名の命名規則からは外れてるので、多分駄目でしょう。

そんなわけで、使えないクラス名は出力しない弄ってしまいましょう。

テンプレートの修正

修正を行うのはwp.Vicuna.excテーマのlayout.php (layout.php)テンプレートです。
ファイル内から以下の記述を探して下さい。

/** -- ex cng s -- **/
// echo $options[$key];
   $layout = $options[$key];
   //Substitute Layout(Measures to ie6)
   if(0 == strcmp($layout, 'multi')){
      $agent = $_SERVER['HTTP_USER_AGENT'];
      if(ereg("MSIE 6",$agent)){
         $layout = $options['ie6_layout'];
      }
   }
   $config = get_option('vicuna_config');
   $eye_catch = $config['eye_catch'];
   echo $layout.' '.$eye_catch;
/** -- ex cng e -- **/

ここを以下のように修正します。

/** -- ex cng s -- **/
// echo $options[$key];
   $layout = $options[$key];
   //Substitute Layout(Measures to ie6)
   if(0 == strcmp($layout, 'multi')){
      $agent = $_SERVER['HTTP_USER_AGENT'];
      if(ereg("MSIE 6",$agent)){
         $layout = $options['ie6_layout'];
      }
   }
   $config = get_option('vicuna_config');
   $eye_catch = $config['eye_catch'];
   echo $layout;
   if( $eye_catch ){
      echo ' '.$eye_catch;
   }
/** -- ex cng e -- **/

別の書き方もありますけど、どちらが優れているか……。

   if( $eye_catch ){
      echo $layout.' '.$eye_catch;
   } else {
      echo $layout;
   }

どちらにしても、これで無駄なクラス名は出力されなくなります。

コメント[0]

コメントはまだありません。

コメント投稿フォーム

コメントを投稿するにはJavaScirptが必要です。ブラウザのJavaScriptを有効にしてください。

コメント投稿フォーム

トラックバック[0]

トラックバックはまだありません。

カテゴリ
アーカイブ
ヘルプ
Feed

フィードとは