WordPress 3.0 + Twenty Ten + 子テーマでリニューアル

WordPress 3.0 にアップグレードし標準テンプレートの Twenty Ten を使用しサイトをリニューアルしました。
少し style.css を書き換えたかったので「子テーマ」を使いオリジナルの CSS をオーバーライドしました。

Codex 子テーマ : http://wpdocs.sourceforge.jp/Child_Themes

子テーマを使うことによりオリジナルのテンプレートを書き換えること無く改造が可能になります。

テーマのアップグレード機能もある現在は、オリジナルファイルを残しておかないとテーマ・アップグレードのたびに書換作業が発生してしまいメンドイことになってしまいます。

Codex に詳しく書かれているので使用は難しくありません。

子テーマフォルダを themes 配下に任意の名前で作成します。
作成したフォルダに style.css を作成します。
style.css に以下のコメントを設定します。

via : Codex

/*
Theme Name:     Kid
Theme URI:      http: //example.com/
Description:    Child theme for the Twenty Ten theme for WordPress
Author:         Demetris
Author URI:     http: //example.com/about/
Template:       twentyten
Version:        0.1.0
*/

Theme Name (必須) 子テーマ名
Theme URI (任意) 子テーマのウェブページ
Description (任意) テーマの説明。例: わたしの最初の子テーマ。ワーイ!
Author URI (任意) 作者のウェブページ
Author (任意) 作者の名前
Template (必須) 親テーマのディレクトリ名, 大文字小文字を区別します
Version (任意) 子テーマのバージョン。例: 0.1, 1.0, etc

コメントに続けてオリジナルの style.css を import させます。

@import url('../twentyten/style.css');

これで、オリジナルの style.css を読込んで上書き設定が可能になります。

テンプレートタグを使う時に少し注意が必要かもしれません。
wp-syntax プラグインの wp-syntax.css はテーマフォルダに配置するとコチラを優先して読込む設定になっているのですが、親テーマの twentyten フォルダに置かないといけませんでした。

TEMPLATEPATH, get_bloginfo("template_url") は 親テーマ を返しているようでした。

他にも注意すべき点があるようです、Codexを良く読んで使いましょう。
既存のテーマファイルを改造して使いたい時は子テーマを使うのが便利です。

WordPress, シングルでもwp_list_categoriesにcurrent-cat

http://aext.net/2010/05/quick-tip-highlight-current-category-menu-item-for-wordpress-single-post/
Quick Tip: Highlight Current Category Menu Item for WordPress Single Post

wp_list_categories がシングル表示の時に current-cat をCSS classに追加しないときのFix方法。

プラグインもあるけど functions.phpadd_filter を書くだけでも簡単に実装できる。
ありがたいです。

標準対応でも良さそうなものですけど。

WordPress, 投稿にClass設定できますョなテンプレートタグ

紆余曲折*1はありましたが、投稿を特定できるCSSクラスを埋め込めるpost_classテンプレートタグが今さらながら便利です。

*1 WordPress Jpan Forum「post_class() が不正な CSS クラス名を生成

<div id="post-<?php the_ID(); ?>" <?php post_class(array("my-post", "another-class")); ?>>

な感じで使うとCSSでデザイン設定するとき便利です。
body_classと合わせて使うと最強ですかね。

XAMPP for OS X

Max OS X 10.5.8 へサーバー環境構築メモ。

サーバー環境は XAMPP をインストール。

1.7.2aをインストール。
Document root の htdocs のパーミッションが適切でなくファイルやフォルダが作れない。
everybody に read / write を許すとフォルダやファイルは作成できるようになる。

php.ini の Error Reporting を E_ALL に変えると XAMPP の初期画面が表示できなかった。
MAX Upload file サイズを 128M から 2M に変えると phpMyAdmin が動かない。

手始めに WordPress 2.8.6 をインストール。
パーミッションのせいだと思うけど wp-config.php が作成できない。
手動で設定した後インストール完了。

これもパーミッションのせいだと思うけどテーマやプラグインの自動インストールができない。

XAMPP のファイルが入っているフォルダ (xamppfiles) の権限やオーナーを変えると phpMyAdmin が動作できなくなる。

アンインストールして 1.0.1 に変更。
htdocs のパーミッションに変な設定はされていないので、普通にファイルやフォルダは作れる。

WordPress 2.8.6 をインストール。
wp-config.php が作成できない。
Wordpress インストールディレクトリのパーミッションを 777 へ。
別に 777 でなくてもと思ったけど・・・

インストールはできたけどテーマやプラグインの自動インストールはやっぱりできない。
ServerRoot の xamppfiles が原因ぽいなぁー。

MAMP に比べて XAMPP は使い勝手がイケテナイ気がする。
こちらの知識が足りないせいだけなのですが・・・

どうしてもパーミッションの問題が解決できなくて、使わないことにした。
残念ながら XAMPP for OS X をセットアップできなかった。
悲しい記録。。

wp-syntax, preタグ内の文字をFirefoxでも折返して表示したい

WordPress のプラグイン wp-syntax を使ってコード表記を行っています。
対応言語も多く助かっているのですが、1つだけ気になっていたことがあります。

Firefox だとコードが折返し表示されずに横スクロールバーが出てしまうことです。
Safariだと折り返して表示されています。

コードは pre タグ内に書くのでFirefoxの挙動は正常だとも思うのですが・・・

wp-syntax 付属の wp-syntax.css をカスタマイズすることにします。

プラグインフォルダのファイルを編集してしまうとアップデートの時に面倒くさいのでどうしようかとソースを見てると、テンプレートフォルダに同名の wp-syntax.css があればコチラが優先になるようになっていました。
それで、ダウンロードしたプラグインファイルから wp-syntax.css をテンプレートフォルダへアップロードしカスタマイズを開始しました。

変更した箇所は .wp_syntax pre へ以下の設定を末尾に2行追加しました。

white-space: -moz-pre-wrap;
white-space: pre-wrap;

これで良さそうだ。

WordPress, bodyタグにClass設定できますョなテンプレートタグ

WordPress 2.8から使えるテンプレートタグ、body_class
body タグ内で使用し Class 設定が可能になります。
テンプレートでCSSデザインの自由度を高めることができます。

使い方

<body <?php body_class( $class ); ?>>

$class へは String, Array のどちらかで設定します。
設定しない(null)でも構いません。

$class = "this-class";
$class = array("class-one", "class-two");

テンプレートタグのデフォルト出力Classの後に $class が書出されます。
デフォルト出力Classはhomeなのかarchiveなど、どのデータを出力しているかによって変わってきます。

Codex:テンプレートタグ/body class で確認できます。

【WordPress Plugin】cformsII が返ってきた

cformsIIがプラグインディレクトリに戻ってきています。
http://wordpress.org/extend/plugins/cforms/

フォームデータをDBへ保存する機能を持ったフォーム生成プラグイン。
以前は日本語環境では難ありで、そのまま使うとSubjectや送信者名が文字化けする確率が高く、使用するにはプラグインファイルをいくつか書き換える必要がありました。

cforms Ⅱ が日本語に対応

現在ではカスタマイズなしに使えます。

プラグインディレクトリから消えていたのはライセンスの問題らしいとネットのウワサで聞きましたが、復帰してくれて喜ばしい限りです。

ただ、良くわからないのがプラグインディレクトリにホストされているバージョンは10.1なのですが、Plugin Homepage のバージョンは11.1と異なっていることです。

cformsが多機能ということはよーーく分かっているのですが、ちょっと気になることが・・・
cformsはWordPressが用意している関数群をあまり使わず、オリジナル関数を使う傾向が強いこと。
wp_mail使っていれば文字化けの問題も起きなかったのでは、と思わずにいられません。

XREAにWordPressプラグインWP-Cacheをいれてみた

XREAのPHPはセーフモードで動作している。
そのためファイルやディレクトリ回りの操作に制限がかかってる。

WordPress勉強会で@naokomcから勧められたWP-Cacheも少しサーバーをいじってあげないと動作できない。

設定手順をメモっとく。

1.wp-contentを書込み可能パーミッションへ変更 -> 757
これでwp-cacheのwp-cache-phase1.phpのシンボリックリンクがwp-contentadvanced-cache.phpとして書き込まれる。

2.wp-configへコード追加

define('WP_CACHE', true);

3.wp-contentcacheフォルダを作成しパーミッションを707へ変更

wp-contentのパーミッションを元に戻しておかないとセキュリティホールになる危険性があります。

WordPressをWPtouchでiPhone向けにカスタマイズ

WPtouch スクリーンショットWordPress プラグイン WPtouchをインストールしてiPhone向けにカスタマイズしました。

iPhone の Safari はフルブラウザなのでわざわざカスタマイズする必要があるか、は色々意見はあるかもしれませんが・・・
狭い画面表示を有効に使うための手段の一つと言えるかもしれません。

WordPress画面をまるでネイティブアプリののような表示に変えてしまいます。
日本語はされていませんが、表示の問題は無さそうです。

好みの問題もありますが、デフォルトのテキスト表示がjustifyされているのでleftに変えました。

ページの表示は “Logo Icon // Menu Items & Page Icons”セクションで表示したいページとアイコンを選択する必要があります。

カスタマイズはプラグインのthemesに フォルダ / ファイル を追加することで可能なようです。
添付の default theme でも充分な感じですけど。

アーカイブ系画面ではタイトル横の三角形をクリックすると本文要約が表示されます。
これもちゃんと対応できていてイイ感じです。

WP勉強会@AIP 2009-09-12

Contact Form 7の作者、三好さん講師の WordPress 勉強会がAIPで開催されました。

テーマ・フレームワークの話は興味深かった。
sandbox
Hybrid
を教えてもらった。

まだ、どう使いこなしたらいいのか見当がつかない。

雑談中に参加者の方から教えていただいたプラグイン Category Order はカテゴリーの並び順を任意に変えることができるスグレものでした。
これは超便利!

次回はプラグイン作成の1回目、興味津々だけど行けそうにない。 :-(

ず〜〜っと下書きのまま放置していました。
時期を逸してしまったけどせっかくなので公開します。

Contact Form 7WordPress Plugin Directory でも常に Most Popular 上位にはいってる人気プラグインです。
その作者から直接お話を聞く機会があるなんてなんてステキなんでしょう。