Home > Archives >

Custom Field GUI Utility SLUG をカスタム投稿タイプで使う

WordPressの投稿画面にカスタムフィールドの入力欄を作る「Custom Field GUI」ってプラグインをより使いやすくカスタマイズした「Custom Field GUI Utility」ってプラグインをカテゴリごとに表示するカスタムフィールドを切り替えやすいようにカスタマイズした「Custom Field GUI Utility SLUG」ってプラグインをカスタム投稿タイプごとに表示するカスタムフィールドを切り替えられるようにカスタマイズしてみました。(長い)

できた、ってだけで検証とかもちゃんとやってないのでプラグインとして発表できるレベルではないので(僕の環境で動作した)やり方だけご紹介。

きっかけはCustom Field GUI Utility SLUGの紹介ページでのコメント

私はカテゴリ毎に切り替える必要がなく、カスタム投稿タイプ毎に切り替えをしたかったので
function insert_gui() とfunction edit_meta_value() のカテゴリを取得しているところを
get_the_categoryではなくget_post_typeで投稿タイプを取得することで解決できました。

やってみました。
「cfg-utility-slug.class.php」の210行目ぐらい

1
2
3
foreach((get_the_category()) as $category) {
    $slug = $category->slug;
}

1
$slug = get_post_type();

に変更。260行目ぐらいの

1
2
3
foreach((get_the_category($_REQUEST['post_ID'])) as $category) {
    $slug = $category->slug;
}

1
$slug = get_post_type($_REQUEST['post_ID']);

に変更しました。

foreachはよくわかりませんが、あるとエラーが出たので消しました。

そうすると、「conf-post.ini」と「conf-page.ini」で表示するカスタムフィールドを切り替えることができたんですが、「conf-hoge.ini」みたいなカスタム投稿タイプではカスタムフィールドの入力欄が出ない。

しばらくソースコードを探した結果、「cfg-utility-slug.php」の85行目くらい

1
2
3
4
5
/* post */
add_meta_box('cfg_utility', $box_name, array('cfg_utility_slug_class', 'insert_gui'), 'post', 'normal', 'high');

/* page */
add_meta_box('cfg_utility', $box_name, array('cfg_utility_slug_class', 'insert_gui'), 'page', 'normal', 'high');

ってとこを

1
2
3
4
5
6
7
8
/* post */
add_meta_box('cfg_utility', $box_name, array('cfg_utility_slug_class', 'insert_gui'), 'post', 'normal', 'high');

/* page */
add_meta_box('cfg_utility', $box_name, array('cfg_utility_slug_class', 'insert_gui'), 'page', 'normal', 'high');

/* hoge */
add_meta_box('cfg_utility', $box_name, array('cfg_utility_slug_class', 'insert_gui'), 'hoge', 'normal', 'high');

みたいに投稿タイプを追加したら無事表示されるようになりました。

これだとカスタム投稿タイプの種類が増えるたびに追加していかなあかんからほんまは投稿タイプを全部取得してループで処理する、みたいにやったほうがいいんでしょうが、めんどくさいしそんなにカスタム投稿タイプの種類を増やすこともないからま、いっか、ってなりました。

てか、こないだのCSV Importerのときみたいにそのうちプラグインのバージョンアップでデフォルトで対応するようになるやろうし。

CSV Importerがうまく動作しない→解決

なんかちゃんとタイトルとか本文がインポートされない事象に陥りました。

結論から言うと、それぞれのデータを「"」で囲めばOKでした。

でも、前まで囲んでなくてもぜんぜん問題なかったのに。なんでやろ?

インポートするデータはEXCELで作ったものをCSVで保存してるんですが、「"」を付加することはできないっぽいので、保存したあとテキストエディタの置換でなんとかするのがちょっとめんどくさかったです。

あと、これは前からですがEXCELで作ったCSVは文字コードがshift_jisなので、utf-8に変更しないと文字化けします。

てか、こないだカスタム投稿タイプをインポートできるようにカスタマイズしたんですが、バージョンアップして「csv_post_type」ってのでカスタム投稿タイプを指定してインポートできるようになったみたいですね。

キーボードの「無変換」キーで半角/全角切替

  • 2010-08-19 (木)
  • 未分類

もともと「無変換」キーで半角/全角を切り替える設定をしていたんですが、Microsoft Office IME 2010 をインストールしたら動作しなくなり、設定する方法を覚えてなくて再設定に時間がかかったので、備忘録として。

IMEのプロパティ
→ 「全般」タブの「キー設定」の「変更」
→ 「キー」列の「半角/全角」のとこに「IME-オン/オフ」って書いてるから右クリックして「キー追加」
→ 「無変換」キーを押してOK

以上、便利。

Return to page top

QLOOKアクセス解析