Custom Field GUI に「サンプル」を表示するカスタマイズとデザインを整える方法
- 【2008-10-18 追記】
このブログ記事のプラグインのカスタマイズ版の『 Custom Field GUI Utility 』を公開しています( WordPress プラグイン )。
WordPress 2.6.x をお使いの方は Custom Field GUI Utility 1.0.0 をお勧めします。インターフェースが他のフィールドと同じになったり、画像のアップロード、サムネイル表示がスムーズにできます。
![]()
以前、WordPressのカスタムフィールドを便利に使うプラグイン - Custom Field GUIという記事で紹介したプラグインをちょっとだけカスタマイズして、もっと便利にカスタムフィールドが使えるようにしてみました。
Custom Field GUIは、設定も簡単で非常に便利なプラグインですが、これを使って WordPress を CMS 的に使うには以下の点が物足りなく感じます。
- 記事投稿画面に反映されたときの表示がかっこ悪い
- フィールドに説明文がつけられない
ということで、WordPress の CSS と、Custom Field GUI にちょこっと手を加えて、上記2点を解消してみました。
Custom Field GUI 用に CSS を追加する
まず最初に、Custom Field GUI で作ったカスタムフィールドが記事投稿画面に反映されたときのデザインを修正します。
【Before】
【After】
管理画面のデザインに関しては、おおむね「 wp-admin.css 」で定義されているようですので、この CSS ファイルに Custom Field GUI 用のスタイルを追加します。
「 wp-admin.css 」は、/wp-admin ディレクトリの中にあります。
Custom Field GUI では、作成したカスタムフィールドを、class="editform" のついた table 要素で記事投稿画面に反映するようになっています。
<table class="editform">
<tr>
<th scope="row">カスタムフィールドのキー</th>
<td>カスタムフィールドの値を入力するための input 要素や textarea 要素</td>
</tr>
</table>
したがって、今回は記事投稿画面の他のエリアとデザインがなんとなくマッチするように、次のようなスタイルを追加しました。
table.editform {
margin-left: 9px;
border: 1px #EBEBEB solid;
border-left: 12px #2583AD solid;
}
table.editform th,
table.editform td {
padding: 5px;
background-color: #EAF3FA;
}
この指定を追加した WordPress 2.5.1 用の wp-admin.css は以下です。このファイルで元のファイルを上書きすればOKだと思います。
なお、WinMerge で確認したところ、WordPress 2.5 と 2.5.1 の wp-admin.css は、間違いの修正など2か所違っているだけですので、どちらのバージョンでもOKです。
Custom Field GUI のファイルをカスタマイズする
次に、入力例や説明文が入力できるように Custom Field GUI をカスタマイズします。
カスタマイズするファイルは rc-custom-field-gui.class.php のみです。
僕はPHP はおろかプログラミングは素人で JavaScript 初心者程度のレベルなので詳しくは分かりませんが、上記ファイルの、記事投稿画面に textfield などを出力する関数に、「$sample」をいう引数を追加するなどのカスタマイズをしてみました。
問題なく動作しているので結果オーライです。
以下に、修正をした Custom Field GUI を置いておくのでご自由にお使いください。もちろん MIT ライセンスです。
これだけでも、WordPress のカスタムフィールドがかなり使いやすくなったと思います。
- 【2008-06-13 追記】
- 管理画面に反映されたフィールドの下にサンプルが表示できるようにしたり、「投稿の編集画面だけに表示」「ページの編集画面だけに表示」「両方の編集画面に共通して表示」という3パターンを使い分けられるようにしたCustom Field GUI Utilityというプラグインを公開しました。
トラックバック
The trackback URL is "".



はじめまして、WPのカスタムフィールドの便利な使用法を検索していてこちらにたどり着きました。自分ではカスタムフィールドを活用している方だと思っているのですが、私もプログラミングのほうは初心者でかなり手こずっています。早速使わせていただいたのですが、このプラグインは記事にしか使えないようですね。ページにも適用させるにはWP本体に手をいれなければならないのでしょうか?ご存じであればご教授下さい。
このプラグインで可能なのかわかりませんが、カスタムフィールドに画像(のURL)を入れた時にサムネイルを表示(MTでは既にある)してくれたら完璧ですよね!!
tenseki さん、はじめまして。コメントありがとうございます、と同時に返信が遅くなって済みませんでした。
まず、ちょっと上の追記にも書きましたが、「投稿の編集画面だけに表示」「ページの編集画面だけに表示」「両方の編集画面に共通して表示」という3パターンを使い分けられるようにした Custom Field GUI Utility というプラグインを公開しました。
このプラグイン内の rc-custom-field-gui.php というファイルを見ていただければ、ページ編集画面に反映させる方法が分かると思います。
本体には手を入れず、プラグインを本体のページ編集画面に反映させるフックを追加すれば良いみたいです。
また、「カスタムフィールドに画像(のURL)を入れた時にサムネイルを表示」というのは投稿編集画面上にサムネイルを表示するのでしょうか?だとしたら、今回はちょっと断念したので、今後のカスタマイズ目標にしたいと思います!
tinybeans様、お返事遅くなりまして申し訳ございません。こちらから質問しておきながら、暫く訪問していませんでした。そして、ありがとうございます!大変感謝しております。早速使わせていただきました。素晴らしいです。しかも共通、投稿、ページに違うカスタムフィールド設定ができるとはさすがです。
>「カスタムフィールドに画像(のURL)を入れた時にサムネイルを表示」というのは投稿編集画面上にサムネイルを表示するのでしょうか?
tinybeans様、お返事遅くなりまして申し訳ございません。こちらから質問しておきながら、暫く訪問していませんでした。そして、ありがとうございます!!大変感謝しております。早速使わせていただきました。素晴らしいです。しかも共通、投稿、ページに違うカスタムフィールド設定ができるとはさすがです。
本当にありがとうございました。
「カスタムフィールドに画像(のURL)を入れた時にサムネイルを表示」というのはtinybeans様のおっしゃる通り、投稿編集画面上にサムネイルを表示するということです。
HTMLなどの初心者がCMS的な使い方をすると、カスタムフィールドにHTMLタグよりはサムネイルが表示されればいいのになあと、前々から感じており、自分でもWPの本体のphpなど開いて眺めてみましたが、私のスキルでは到底及びませんでした。プラグインでありそうなものだと思い探してみましたが、見つかりませんでした。tinybeans様はプログラミングは素人だとおっしゃいますが、とんでもないです。是非WPユーザーのため、カスタマイズを続けて下さい!!
tenseki さん、こんにちは。
Custom Field GUI Utility に少し手を加えて、カスタムフィールドに画像(のURL)を入れた時に投稿などの編集画面でサムネイルを表示できるようにしてみました。ご希望に沿うか分かりませんが、もしよかったら使ってみてください。
今回のサムネイル表示は、PHP が分からないので、CSS と勉強中の JavaScript で実現してみました。「確認する」をクリックしたときのイベントハンドラとして設定しているので、ページを読み込み直したらサムネイル表示が消えちゃいますが、「確認する」ということを目的にしているので、一度確認すればまあいいだろうというノリでそのような仕様にしました。
CSS でマウスを乗せた時の動作が IE だとあまり気持ちよくないので、クリックして別ウィンドウで開くようにしました。
使ってみて何か感想があったら以下の記事にコメントいただけると幸いです。
(該当記事)Custom Field GUI の管理画面にサムネイルを表示するカスタマイズ
http://www.tinybeans.net/blog/2008/06/custom-field-gui-2.html