アクセス数: | 今日: | 昨日:   記事数:2,090

HOMESITE MAPBOOKMARKTAG CLOUD

【WordPress】WPtouchを自分好みにカスタマイズしまくる

『【WordPress】WPtouchを自分好みにカスタマイズしまくる』をはてなブックマーク

WPtouch過去2回に渡り紹介してきた『WPtouch』ですが、やっぱり自分で色々カスタマイズしないと気がすまないってんで、調べて色々触ってみました。
(過去記事:1回目2回目

私が今回試みた事。
1テーマを分ける。
2ファビコン付ける。
3トップページの表示をタイトルだけでなく、内容も見えるようにする。
4一部のカテゴリーを違う表示にする。
5PCと同じようなCSSにする。

元々の完成度が高い『WPtouch』なので、そんなに変更する箇所はありませんね。
要は自分好みの表示設定にしたいって事で。
文中に出てくる行番号などは、最新バージョンの『1.9.5』の場合です。


1テーマを分ける。
PCと同じで、テーマがiPhone用ってなだけですね。
PC版もiPhone版みたいにしようと思ったら出来る訳です。

で、『WPtouch』のテーマは以下の場所にあります。

wp-content/plugins/wptouch/themes/default/
この中に『index』『single』『page』『header』『footer』やスタイルシート等があります。
これをそのまま変更しても良いんですが、残念な事にWPtouchのバージョンアップ時にテーマ内も更新されてしまいます。
せっかく頑張って変更しても、これでは意味がありません。
で、defaultフォルダを丸ごとコピーして、新しいテーマを作りましょう。
wp-content/plugins/wptouch/themes/kome/
こんな感じにして、この『kome』内のファイルを変更していくことにしましょう。

で、どこでこのテーマのフォルダを読み出しているかと言うと、以下のファイルになります。
wp-content/plugins/wptouch/wptouch.php
このファイルを開き、以下の箇所を変更しましょう。

wptouch.php(version:1.9.5) 464行目~
function get_stylesheet( $stylesheet ) {
  if ($this->applemobile && $this->desired_view == 'mobile') {
    return 'default';
  } else {
    return $stylesheet;
  }
}
    
function get_template( $template ) {
  $this->bnc_filter_iphone();
  if ($this->applemobile && $this->desired_view === 'mobile') {
    return 'default';
  } else {     
    return $template;
  }
}
   ↓
function get_stylesheet( $stylesheet ) {
  if ($this->applemobile && $this->desired_view == 'mobile') {
    return 'kome';
  } else {
    return $stylesheet;
  }
}
    
function get_template( $template ) {
  $this->bnc_filter_iphone();
  if ($this->applemobile && $this->desired_view === 'mobile') {
    return 'kome';
  } else {     
    return $template;
  }
}

新しく作ったテーマフォルダ名にします。
今後バージョンアップがあっても、ここを変更するだけの手間で済みます。(多分)


2ファビコン付ける。
これはとても簡単です。
管理画面の『WPtouch』ページを開き、以下の場所の『Upload Icon』をクリックして好みの画像をアップして、その下の『Loco Icon // Menu Items & Pages Icons』で選択するだけです。
WPtouch


3トップページの表示をタイトルだけでなく、内容も見えるようにする。
プラグインを使用した直後は、以下のような表示になっています。
WPtouch

これでは面白くないってんで、記事の内容をPCみたいにトップにも表示させてみましょう。
これも管理画面で行います。
以下の赤枠で囲んだチェックを外します。
WPtouch

で、以下のような表示になります。
WPtouch


4一部のカテゴリーを違う表示にする。
3のような表示でも良いんですが、私の場合『2ch まとめブログ』はPCで表示させないようにしてます。
今回私が一番したかった事が、
「2ch記事は表示させるけどタイトルのみ。
 その他の記事はPCのように全文(続きを読む以降の記事は隠す)表示させたい」

って事でした。

結論から言うと、こんな感じになります。
WPtouch

まずは全文表示させる方法です。
新しく作ったテーマフォルダ内の『index.php』を開きます。

index.php(version:1.9.5) 65行目~
<div id="entry-<?php the_ID(); ?>" <?php if (bnc_excerpt_enabled()) { ?>style="display:none"<?php } ?> class="mainentry <?php echo $wptouch_settings['style-text-size']; ?> <?php echo $wptouch_settings['style-text-justify']; ?>">
  <?php the_excerpt(); ?>
  <a class="read-more" href="<?php the_permalink() ?>"><?php _e( "Read This Post", "wptouch" ); ?></a>
</div>
上記の関数を、以下の関数に変更します。
<div id="entry-<?php the_ID(); ?>" <?php if (bnc_excerpt_enabled()) { ?>style="display:none"<?php } ?> class="mainentry <?php echo $wptouch_settings['style-text-size']; ?> <?php echo $wptouch_settings['style-text-justify']; ?>">
  <?php the_content(); ?>
  <a class="read-more" href="<?php the_permalink() ?>"><?php _e( "Read This Post", "wptouch" ); ?></a>
</div>

これで、タイトルだけでなくサムネ画像込みの全文表示になります。
しつこく書きますが、『続きを読む』以降の記事は表示されません。

しかし、これでは隠したい『2ch まとめブログ』も全文表示されてしまいます。
『index.php』を見てみると、以下のような事が分かります。

index.php(version:1.9.5) 58行目~
  <a class="h2" href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
  <div class="post-author">
    <?php if (bnc_show_author()) { ?><span class="lead"><?php _e("Author", "wptouch"); ?>:</span> <?php the_author(); ?><br /><?php } ?>
    <?php if (bnc_show_categories()) { echo('<span class="lead">' . __( 'Categories', 'wptouch' ) . ':</span> '); the_category(', '); echo('<br />'); } ?> 
    <?php if (bnc_show_tags() && get_the_tags()) { the_tags('<span class="lead">' . __( 'Tags', 'wptouch' ) . ':</span> ', ', ', ''); } ?>
  </div>  
  <div class="clearer"></div>  


  <div id="entry-<?php the_ID(); ?>" <?php  if (bnc_excerpt_enabled()) { ?>style="display:none"<?php } ?> class="mainentry <?php echo $wptouch_settings['style-text-size']; ?> <?php echo $wptouch_settings['style-text-justify']; ?>">
    <?php the_excerpt(); ?>
    <a class="read-more" href="<?php the_permalink() ?>"><?php _e( "Read This Post", "wptouch" ); ?></a>
  </div>  
</div>

本当は行間あいていませんが、上部がタイトル表示部分、下部が記事表示部分のようです。
では、これを踏まえて『記事表示部分を if文 で分けてみましょう。

全文書くとこんな感じです。(赤字が追加文)
  <?php
    foreach(get_the_category() as $category) {
    $cat_id = $category -> cat_ID;
    }
  ?>

  <a class="h2" href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
  <div class="post-author">
    <?php if (bnc_show_author()) { ?><span class="lead"><?php _e("Author", "wptouch"); ?>:</span> <?php the_author(); ?><br /><?php } ?>
    <?php if (bnc_show_categories()) { echo('<span class="lead">' . __( 'Categories', 'wptouch' ) . ':</span> '); the_category(', '); echo('<br />'); } ?> 
    <?php if (bnc_show_tags() && get_the_tags()) { the_tags('<span class="lead">' . __( 'Tags', 'wptouch' ) . ':</span> ', ', ', ''); } ?>
  </div>  
  <div class="clearer"></div>

  <?php if ($cat_id == 49) { ?>
  </div>

  <?php } else { ?>

  <div id="entry-<?php the_ID(); ?>" <?php if (bnc_excerpt_enabled()) { ?>style="display:none"<?php } ?> class="mainentry <?php echo $wptouch_settings['style-text-size']; ?> <?php echo $wptouch_settings['style-text-justify']; ?>">
    <?php the_content('<span></span>続きを読む >><br class="clear" />'); ?>
    <a class="read-more" href="<?php the_permalink() ?>"><?php _e( "Read This Post", "wptouch" ); ?></a>
  </div>
  <?php } ?>
</div>

一番最初の『foreach文』でカテゴリーIDを取得し、『$cat_id』に代入します。
後は、下部の記事表示を if文 で分岐させる訳です。
『49』ってのが、『2ch まとめブログ』のカテゴリーIDになります。
カテゴリーIDが『49』の場合は、下部を表示させず『</div>』で終了ってな訳です。
書いてみるとたったこれだけですが、これだけで2・3時間悩んでました…。

最初に書いた『foreach文』で、他にも色々出来そうですね。


5PCと同じようなCSSにする。
テーマフォルダ分けたんだから、CSSのファイル名も変えれば良いじゃん!
って思いましたが、CSSを読み出している箇所が以下の部分になります。
wp-content/plugins/wptouch/themes/core/core-header.php
そうなんです、バージョンアップ後の手間を考えるのであれば、『style-compressed.css』に書くしかないんです。
諦めて『style-compressed.css』に追加するか、以下のようなコードを入れて『style.css』メインにするしかありません。
@import "style.css";

私は『style-compressed.css』のコードは全てコメントアウトして、上記のコードを入れて『style.css』に追加コードを書いたりしています。

では、CSSを付け足して表示された内容です。
2ch リスト表示
beforeafter
WPtouchWPtouch

『続きを読む』表示
beforeafter
WPtouchWPtouch

記事詳細ページ
beforeafter
WPtouchWPtouch


結構やりたいことやれてスッキリしました。
後は細かいCSSの調整ですが、その辺はちょこちょこ手を加えたいと思います。


BraveNewCode Inc.
WPtouch: Mobile Plugin + Theme for WordPress

Trackback URL

リンク先が18禁サイトの場合は削除しています。
当ブログにリンクが貼られていない場合は削除しています。
Tag : ,

トラックバック (2)

  1. wordpressで携帯電話&iphoneに対応する « EC Recipe
    [...] http://kome-suki.net/archives/5437 [...]
  2. WordPressをiPhoneに最適化させるプラグイン「iWPhone」&「WPtouch」 | WEB制作◯◯ -WEB制作初心者の為の情報ブログ-
    [...] ②米が好き | 【WordPress】WPtouchを自分好みにカスタマイズしまくる [...]

コメントを書く

必須です。

必須です。(公開されません)
GRAVATARに登録していると、アイコンが表示されます。

リンク先が18禁サイトの場合は削除しています。

以下のタグが利用出来ます。
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Additional comments powered by BackType