気が付かなかったけど、all in one event calendarとAdvanced custom fieldがコンフリクトしていた。。
この2つがめちゃめちゃ使いやすくて開発していたサイトで途中バージョンアップを繰り返しているうちに、気がついたらcustom fieldに入れた値が反映されなくなっていました。
投稿画面では問題なく保存されていたのと、普通のカスタムフィールドに直接値を入れると動いていたのでcalendarのプラグインとの相性が悪いのだろうと色々調べたら同じ問題の記事を発見。あー、たすかったお。
Conflict With All-In-One Events Calendar: Fields not saving
class-ai1ec-events-controller.php
ここの記述を変更したら無事に動いたとさ!
437 if ( get_magic_quotes_gpc() ) {
438 foreach ( $_POST as &$param ) {
439 $param = stripslashes( $param );
440 }
441 }
ここを下記にへんこう。
// Strip slashes if ridiculous PHP setting magic_quotes_gpc is enabled. if ( get_magic_quotes_gpc() ) { foreach ( $_POST as &$param ) { if (!is_array($param)) { $param = stripslashes( $param ); } else { $param = stripslashes_deep( $param ); } } } - See more at: http://support.advancedcustomfields.com/discussion/4831/conflict-with-all-in-one-events-calendar-fields-not-saving/p1#sthash.pQamLH8j.dpuf
まぢで、ありがとうございます。