カスタムフィールドのテキストエリアにTinyMCEを追加したかったので、プラグイン:Custom Field Template plugin (カスタムフィールドテンプレート)をインストールしました。
下記エントリーが大変参考になりました。
Custom Field Template plugin | WordPressで企業ウェブサイト作成・商用ホームページ制作 WordPress Go Go
基本的な使い方は カスタムフィールドのテキストエリアに記入した内容は、投稿欄に記入した[cft]に反映される。また、プラグインテンプレートにoutput = trueを追記しないと表示されない(これで躓いた・・・)
投稿欄に毎回ショートコード[cft]を記入するのは手間なので、下記エントリーを参考にカスタムフィールドの内容をDBから抜き出すことにした。
参考:
カスタムフィールドの記事内での表示方法
WordPress – カスタムフィールド活用術 | Technolog.jp
簡単にいうと下記コードをWPテンプレートに埋め込めばOK
<?php echo get_post_meta($post->ID,’特定キー’,TRUE); ?>
以前カスタムフィールドの値で並べ替えやフィルタリングするという記事を書き、その時は非常に便利でした。
今回かなり1エントリー当たり約100個のカスタムフィールド入力項目があり、また、15個(複数選択可)チェックボックスで条件分岐を行う事をしたのですが、エントリー数が40個程で、エントリー保存時に500エラーが出るようになってしまった。
再構築を軽減させる方法をいくつか試したのですが、効果無し。
色々試した結果、カスタムフィールドのソートを含んだテンプレートの再構築に負荷が掛かっていることが判明。
対処方法はとにかくテンプレートを軽くするしかないようです。
私の対処方法聞きたい方は個別にお問い合わせください。
ちなみに
ダイナミックパブリッシングを使わないという条件で構築しました。
ダイナミックパブリッシングを使えばクリア出来そうです。試してないので予想ですけど・・・
Sくん教えて貰いました。
カスタムフィールド使用時の注意点
カスタムフィールドを使用している場合に、ブログ記事の投稿を確認画面経由で保存するとカスタムフィールドの内容が反映されないので注意
MTのシステム上のバグで対処策は今のところ特になし
以前の記事でMT4.2から出来るような書き方しましたが、MT4.1でもstyles-customfields.cssがあったので、カスタマイズ可能でした。
確認を怠りました。
ちなみに、MT4.0は確認環境が無いため未確認です。
CSSソース#customfield_test-field { width:460px; margin:20px auto; padding:30px 0; border:1px solid #ccc; background:url(../../../../mt/mt-static/images/footer-bg.jpg) repeat-x 0 0;}
#customfield_test-label { font-size:200%; color:#666; margin:0; padding:0 0 0 20px;}
#customfield_test-field .field-content { border:1px solid #ccc; background:#cddee7; padding:10px; width:400px; margin:0 auto;}

例えば、「某カテゴリ内の特定記事だけをindexページのピックアップ記事に載せたい」という状況で…
これまではサブカテゴリ等を使用したりしてきたが、カスタムフィールドのチェックボックス(ラジオボタン)を使用すればフィルタリングができる。
カスタムフィールドでいくつでも条件を増やせるので、様々な条件でフィルタリングが可能になる。
カテゴリ(特にサブカテゴリ)は構築も投稿も判りづらいので、この方法なら構築と投稿がラクになると思う。ラジオボタンで「必須」に設定しておけば、忘れることもない。
問題点はカテゴリアーカイブとして自動でアーカイブ化できない点かな…
MT4.2からカスタムフィールドで追加した入力フィールドのレイアウトはCSSファイルで管理されているので、これまでは下に伸びる一方たっだラジオボタンやチェックボックスのレイアウトを横並びにしたりできるようになりました。
ちなみにタイトル(ここでは「休日」)だけ表示させたかったので、テキストエリアをdisplay:noneで消してあります。

カスタムフィールド用CSSは以下
/mt-static/addons/Commercial.pack/styles-customfields.css
追加された入力フィールドはベースネームのidタグのブロック要素として生成されるので、そのidを使用してレイアウトを調整します。
※IE6で部分的にCSSが対応しないという原因不明の問題が発生。
(IE7,Firefox,safari,Opera,Chromeでは正常)
管理画面上でのことで管理者しか見ないとはいえ、なんかスッキリしないので、いろいろとテストしてみた結果。
cssの記述位置を変更するとなぜが有効になる。
根本解決では無いと思いますが、暫定対策とします。